Jump to content

[1.7.10][Unsolved] Texture based on surrounding blocks


Mr_Pyro

Recommended Posts

I'm looking for a way to change the top texture of a glass pane like block that I made.  I would like something like.

public static int varA = world.getBlockId(x, y+1, z);

if(varA == (id of my block)){

texture = refStrings.MODID + ":Screen";

}else{

texture = refStrings.MODID + ":ScreenTop";


} 

Link to comment
Share on other sites

I think you nedd to use a IBakedModel, or maybe even a TESR but if you can use a IBakedModel you should.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

You should update to 1.10 aswell

I do not want to update to 1.10 because I plan on using this mod with a 1.7.10 world.

 

 

I do think something similar to that, is what I want.  I have been messing around using that code for an example but have not been able to get anywhere with it.  I not familiar with the IIcons or IBakedModels.  I would like something to return

RefStrings.MODID + ":Screen"

if there is not another screen block on top or

RefStrings.MODID + ":ScreenTop"

if there is another screen block on top.

 

Here is my MBlocks Class

package com.James.Blocks;

import com.James.Creativetabs.MCreativeTabs;
import com.James.lib.RefStrings;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import cpw.mods.fml.common.registry.GameRegistry;

public class MBlocks {

public static void MainRegistry(){
	InitializeBlock();
	RegisterItem();
}

public static Block ComStone;
public static Block OCrop;
public static Block Scaffold;
public static Block Screen;

public static void InitializeBlock(){

	ComStone = new ComStone(Material.ground).setBlockName("ComStone").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":CompressedStone").setHardness(1.6f).setResistance(30);
	OCrop = new ObsidianCrop().setBlockName("OCrop").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":OPlant");
	Scaffold = new Scaffold(Material.wood).setBlockName("Scaffold").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":Scaffold");
	Screen = new Screen(RefStrings.MODID + ":Screen", RefStrings.MODID + ":ScreenTop", Material.glass, true).setBlockName("Screen").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":Screen").setHardness(0.5f).setResistance(1.5f);

}

public static void RegisterItem(){

	GameRegistry.registerBlock(ComStone, ComStone.getUnlocalizedName());
	GameRegistry.registerBlock(OCrop, OCrop.getUnlocalizedName());
	GameRegistry.registerBlock(Scaffold, Scaffold.getUnlocalizedName());
	GameRegistry.registerBlock(Screen, Screen.getUnlocalizedName());

}

}

And here is my screenblock class

package com.James.Blocks;

import com.James.Main.MConnectedTextures;
import com.James.lib.RefStrings;

import net.minecraft.block.BlockPane;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;



public class Screen extends BlockPane{

protected Screen(String p_i45432_1_, String p_i45432_2_, Material p_i45432_3_, boolean p_i45432_4_) {
	super(p_i45432_1_, p_i45432_2_, p_i45432_3_, p_i45432_4_);

}




}

 

What I'm thinking is have a variable that equals one of the refstrings and substitute it in, for example

Screen = new Screen(RefStrings.MODID + ":Screen", VarA, Material.glass, true).setBlockName("Screen").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":Screen").setHardness(0.5f).setResistance(1.5f);

 

 

Any help is appreciated

 

Link to comment
Share on other sites

Override the "getIcon(int side, int meta)" method. You can return a different IIcon which is the texture, depending on the side.

You must register your Icons in the "registerBlockIcons(IIconRegister reg)" method, save them to variables in your Block class and return them in the "getIcon" method.

Link to comment
Share on other sites

Override the "getIcon(int side, int meta)" method. You can return a different IIcon which is the texture, depending on the side.

You must register your Icons in the "registerBlockIcons(IIconRegister reg)" method, save them to variables in your Block class and return them in the "getIcon" method.

 

 

Could you please give some more details, I'm still a little new to java.  I understand what your saying I just need a little help with the syntax.

-Thank you

Link to comment
Share on other sites

Minecraft has these things in 1.7 called IIcons. They are variables that store the textures information. getItcon will help you determine what IIcon to use per side although I don't see any way to make that depend on the surrounding blocks.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Minecraft has these things in 1.7 called IIcons. They are variables that store the textures information. getItcon will help you determine what IIcon to use per side although I don't see any way to make that depend on the surrounding blocks.

 

 

Look at the links to my repo, that's how it works.  #getIcon is called once per face of a block, so the manager is used to determine which sides have blocks of the same type adjacent to them (in this case) and return the appropriate IIcon for that situation.  I don't know about other situations, but #getIcon is at least called when a neighboring block updates.

Link to comment
Share on other sites

Well I'm sorry I was only aware of

public IIcon getIcon(int side, int meta);
// Not
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side);

Well now that I see that I know what is possible should really look more into stuff before posting. 8)

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Well I'm sorry I was only aware of

public IIcon getIcon(int side, int meta);
// Not
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side);

Well now that I see that I know what is possible should really look more into stuff before posting. 8)

 

 

Oh yeah that was a little confusing until I did some testing with them both and found that one was for inventory and one was for world lol

 

 

And, @Mr_Pyro, pretty sure IIcons are the only way to do something like this without a lot of overhead, ie using a TESR.  Also a note, if you're going to be changing textures in this manner using an item, (since there's no block updates caused by neighbors) you'll need to call World#markBlockForUpdate on the block affected to make the change show up immediately.

Link to comment
Share on other sites

---- Minecraft Crash Report ----
// On the bright side, I bought you a teddy bear!

Time: 8/4/16 7:53 PM
Description: Initializing game

java.lang.NullPointerException: Initializing game
at com.James.Blocks.MBlocks.RegisterItem(MBlocks.java:37)
at com.James.Blocks.MBlocks.MainRegistry(MBlocks.java:15)
at com.James.Main.MainRegistry.PreLoad(MainRegistry.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
at net.minecraft.client.Minecraft.run(Minecraft.java:942)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


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

-- Head --
Stacktrace:
at com.James.Blocks.MBlocks.RegisterItem(MBlocks.java:37)
at com.James.Blocks.MBlocks.MainRegistry(MBlocks.java:15)
at com.James.Main.MainRegistry.PreLoad(MainRegistry.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.run(Minecraft.java:942)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_91, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 806145648 bytes (768 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1614 4 mods loaded, 4 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCH	mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
UCH	FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
UCH	Forge{10.13.4.1614} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
UCE	jcraft{0.001} [JCraft] (bin) 
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.201.1151.1008' Renderer: 'AMD Radeon HD 7560D'
Launched Version: 1.7.10
LWJGL: 2.9.1
OpenGL: AMD Radeon HD 7560D GL version 4.5.13399 Compatibility Profile Context 15.201.1151.1008, ATI Technologies Inc.
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)

 

:( :(

 

Screen Class

package com.James.Blocks;

import javax.swing.Icon;

import com.James.Creativetabs.MCreativeTabs;
import com.James.Main.MConnectedTextures;
import com.James.lib.RefStrings;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockPane;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.Facing;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;



public class Screen extends BlockPane{

IIcon[] icons = new IIcon[16];
String path = RefStrings.MODID + ":Screen";

public Screen(){

	super(RefStrings.MODID + ":Screen", RefStrings.MODID + ":ScreenTop", Material.glass, true);
	this.setBlockName("Screen");
	this.setHardness(0.5f);
	this.setResistance(1.5f);
	this.setBlockTextureName(RefStrings.MODID + ":" + getUnlocalizedName().substring(5));
	this.setCreativeTab(MCreativeTabs.tabBlock);


}

@Override
public void registerBlockIcons(IIconRegister iconRegister){

	for(int i = 0; i < icons.length; i++){

		icons[i] = iconRegister.registerIcon(this.path + i);

	}


}

@Override
public IIcon getIcon(int side, int meta){

	return icons[0];

}

@Override
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
{
	return MConnectedTextures.getManager().getIconForSide(world, x, y, z, side, this.icons, MBlocks.Screen);
}

@SideOnly(Side.CLIENT)
@Override
public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side){

	Block block = world.getBlock(x, y, z);
	if(world.getBlock(x - Facing.offsetsXForSide[side], y - Facing.offsetsYForSide[side], z - Facing.offsetsZForSide[side]) !=MBlocks.Screen){

		return true;

	}
	if(block == this){

		return false;

	}
	return block == this ? false : super.shouldSideBeRendered(world, x, y, z, side);

}




protected Screen(String p_i45432_1_, String p_i45432_2_, Material p_i45432_3_, boolean p_i45432_4_) {
	super(p_i45432_1_, p_i45432_2_, p_i45432_3_, p_i45432_4_);

}



}

 

MConnectedTextures Class

package com.James.Main;

import com.James.lib.RefStrings;

import net.minecraft.block.Block;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;

public class MConnectedTextures {

private static MConnectedTextures INSTANCE = new MConnectedTextures();


public static MConnectedTextures getManager(){

	return INSTANCE;

}

private boolean whatTexture(IBlockAccess world, int x, int y, int z, Block block, int dir){

	switch(dir){

	case 0:return world.getBlock(x, y + 1, z) == block;
	default: return false;

	}

}

public IIcon getIconForSide(IBlockAccess world, int x, int y, int z, int side, IIcon[] icons, Block block){

	boolean up, down, north, south, east, west;
	down = this.whatTexture(world, x, y, z, block, 0);
	up = this.whatTexture(world, x, y, z, block, 1);
	north = this.whatTexture(world, x, y, z, block, 2);
	south = this.whatTexture(world, x, y, z, block, 3);
	west = this.whatTexture(world, x, y, z, block, 4);
	east = this.whatTexture(world, x, y, z, block, 5);

	if(up){

		return icons[0];

	}else{

		return icons[1];

	}


}


}


 

MBlocks Class

package com.James.Blocks;

import com.James.Creativetabs.MCreativeTabs;
import com.James.lib.RefStrings;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import cpw.mods.fml.common.registry.GameRegistry;

public class MBlocks {

public static void MainRegistry(){
	InitializeBlock();
	RegisterItem();
}

public static Block ComStone;
public static Block OCrop;
public static Block Scaffold;
public static Block Screen;

public static void InitializeBlock(){

	ComStone = new ComStone(Material.ground).setBlockName("ComStone").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":CompressedStone").setHardness(1.6f).setResistance(30);
	OCrop = new ObsidianCrop().setBlockName("OCrop").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":OPlant");
	Scaffold = new Scaffold(Material.wood).setBlockName("Scaffold").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":Scaffold");
	//Screen = new Screen(RefStrings.MODID + ":Screen", RefStrings.MODID + ":ScreenTop", Material.glass, true).setBlockName("Screen").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":Screen").setHardness(0.5f).setResistance(1.5f);

}

public static void RegisterItem(){

	GameRegistry.registerBlock(ComStone, ComStone.getUnlocalizedName());
	GameRegistry.registerBlock(OCrop, OCrop.getUnlocalizedName());
	GameRegistry.registerBlock(Scaffold, Scaffold.getUnlocalizedName());
	GameRegistry.registerBlock(Screen, Screen.getUnlocalizedName());

}

}

Link to comment
Share on other sites

[21:17:51] [main/INFO] [GradleStart]: Extra: []
[21:17:51] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/James H/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[21:17:51] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[21:17:51] [main/INFO] [FML]: Forge Mod Loader version 7.99.40.1614 for Minecraft 1.7.10 loading
[21:17:51] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_91, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_91
[21:17:51] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[21:17:51] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:17:51] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
[21:17:51] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[21:17:51] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:17:51] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:17:52] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[21:17:58] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[21:17:58] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:17:58] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:17:58] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[21:17:59] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[21:17:59] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[21:17:59] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[21:18:00] [main/INFO]: Setting user: Player939
[21:18:03] [Client thread/INFO]: LWJGL Version: 2.9.1
[21:18:04] [Client thread/INFO] [sTDOUT]: [tv.twitch.StandardCoreAPI:<init>:16]: If on Windows, make sure to provide all of the necessary dll's as specified in the twitchsdk README. Also, make sure to set the PATH environment variable to point to the directory containing the dll's.
[21:18:04] [Client thread/ERROR]: Couldn't initialize twitch stream
[21:18:05] [Client thread/INFO] [sTDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: ---- Minecraft Crash Report ----
// This doesn't make any sense!

Time: 8/4/16 9:18 PM
Description: Loading screen debug info

This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR


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

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_91, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 767282672 bytes (731 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: 
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.201.1151.1008' Renderer: 'AMD Radeon HD 7560D'
[21:18:05] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
[21:18:05] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1614 Initialized
[21:18:05] [Client thread/INFO] [FML]: Replaced 183 ore recipies
[21:18:05] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
[21:18:06] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[21:18:06] [Client thread/INFO] [FML]: Searching C:\Users\[user]\Documents\1.7.10 Minecraft Modding\eclipse\mods for mods
[21:18:14] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
[21:18:14] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, jcraft] at CLIENT
[21:18:14] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, jcraft] at SERVER
[21:18:15] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:JCraft
[21:18:15] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[21:18:15] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations
[21:18:15] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[21:18:15] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[21:18:15] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[21:18:15] [Client thread/INFO] [FML]: Applying holder lookups
[21:18:15] [Client thread/INFO] [FML]: Holder lookups applied
[21:18:15] [Client thread/INFO] [FML]: Injecting itemstacks
[21:18:15] [Client thread/INFO] [FML]: Itemstack injection complete
[21:18:16] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:18:16] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem...
[21:18:16] [Thread-8/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
[21:18:16] [Thread-8/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[21:18:16] [Thread-8/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
[21:18:16] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:18:16] [sound Library Loader/INFO]: Sound engine started
[21:18:22] [Client thread/INFO]: Created: 16x16 textures/blocks-atlas
[21:18:22] [Client thread/INFO]: Created: 16x16 textures/items-atlas
[21:18:22] [Client thread/INFO] [FML]: Injecting itemstacks
[21:18:22] [Client thread/INFO] [FML]: Itemstack injection complete
[21:18:23] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
[21:18:23] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:JCraft
[21:18:23] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
[21:18:23] [Client thread/INFO]: Created: 256x256 textures/items-atlas
[21:18:23] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:18:23] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down...
[21:18:24] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]:     Author: Paul Lamb, www.paulscode.com
[21:18:24] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:18:24] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:18:24] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem...
[21:18:24] [Thread-10/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
[21:18:24] [Thread-10/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[21:18:24] [Thread-10/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
[21:18:24] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:18:24] [sound Library Loader/INFO]: Sound engine started
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:   DOMAIN jcraft
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: --------------------------------------------------
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:   domain jcraft is missing 16 textures
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:     domain jcraft has 1 location:
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       mod jcraft resources at C:\Users\James H\Documents\1.7.10 Minecraft Modding\bin
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:     The missing resources for domain jcraft are:
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen9.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen4.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen13.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen15.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen2.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen6.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen11.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen8.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen14.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen3.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen0.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen1.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen5.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen7.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen12.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/Screen10.png
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]:     No other errors exist for domain jcraft
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[21:18:29] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[21:18:47] [server thread/INFO]: Starting integrated minecraft server version 1.7.10
[21:18:47] [server thread/INFO]: Generating keypair
[21:18:48] [server thread/INFO] [FML]: Injecting existing block and item data into this server instance
[21:18:48] [server thread/INFO] [FML]: Applying holder lookups
[21:18:48] [server thread/INFO] [FML]: Holder lookups applied
[21:18:48] [server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@74f4e418)
[21:18:54] [server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@74f4e418)
[21:19:01] [server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@74f4e418)
[21:19:01] [server thread/INFO]: Preparing start region for level 0
[21:19:02] [server thread/INFO]: Changing view distance to 12, from 10
[21:19:03] [Netty Client IO #0/INFO] [FML]: Server protocol version 2
[21:19:03] [Netty IO #1/INFO] [FML]: Client protocol version 2
[21:19:03] [Netty IO #1/INFO] [FML]: Client attempting to join with 4 mods : [email protected],[email protected],[email protected],[email protected]
[21:19:03] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT
[21:19:03] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER
[21:19:03] [server thread/INFO] [FML]: [server thread] Server side modded connection established
[21:19:03] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established
[21:19:03] [server thread/INFO]: Player939[local:E:2c034f72] logged in with entity id 97 at (-137.5231121359991, 4.0, -547.3970451473627)
[21:19:03] [server thread/INFO]: Player939 joined the game
[21:19:05] [Client thread/FATAL]: Unreported exception thrown!
java.lang.NullPointerException
at net.minecraft.client.renderer.RenderBlocks.renderBlockStainedGlassPane(RenderBlocks.java:2879) ~[RenderBlocks.class:?]
at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:379) ~[RenderBlocks.class:?]
at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:207) ~[WorldRenderer.class:?]
at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1618) ~[RenderGlobal.class:?]
at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1263) ~[EntityRenderer.class:?]
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1087) ~[EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_91]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_91]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
[21:19:05] [Client thread/INFO] [sTDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: ---- Minecraft Crash Report ----
// Why is it breaking 

Time: 8/4/16 9:19 PM
Description: Unexpected error

java.lang.NullPointerException: Unexpected error
at net.minecraft.client.renderer.RenderBlocks.renderBlockStainedGlassPane(RenderBlocks.java:2879)
at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:379)
at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:207)
at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1618)
at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1263)
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1087)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067)
at net.minecraft.client.Minecraft.run(Minecraft.java:962)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


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

-- Head --
Stacktrace:
at net.minecraft.client.renderer.RenderBlocks.renderBlockStainedGlassPane(RenderBlocks.java:2879)
at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:379)
at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:207)
at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1618)
at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1263)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['Player939'/97, l='MpServer', x=-137.52, y=5.62, z=-547.40]]
Chunk stats: MultiplayerChunkCache: 85, 85
Level seed: 0
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options: 
Level spawn location: World: (-173,4,-569), Chunk: (at 3,0,7 in -11,-36; contains blocks -176,0,-576 to -161,255,-561), Region: (-1,-2; contains chunks -32,-64 to -1,-33, blocks -512,0,-1024 to -1,255,-513)
Level time: 59438 game time, 4210 day time
Level dimension: 0
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
Forced entities: 58 total; [EntityCow['Cow'/1, l='MpServer', x=-178.84, y=4.00, z=-565.94], EntitySheep['Sheep'/2, l='MpServer', x=-186.84, y=4.00, z=-504.84], EntityPig['Pig'/3, l='MpServer', x=-182.19, y=4.00, z=-493.78], EntityCow['Cow'/4, l='MpServer', x=-164.22, y=4.00, z=-515.69], EntitySheep['Sheep'/5, l='MpServer', x=-173.41, y=4.00, z=-490.78], EntityPig['Pig'/6, l='MpServer', x=-157.06, y=4.00, z=-516.97], EntitySheep['Sheep'/7, l='MpServer', x=-148.06, y=4.00, z=-507.25], EntityPig['Pig'/8, l='MpServer', x=-156.75, y=4.00, z=-503.19], EntitySheep['Sheep'/9, l='MpServer', x=-154.78, y=4.00, z=-503.75], EntityPig['Pig'/10, l='MpServer', x=-156.84, y=4.00, z=-487.97], EntityCow['Cow'/11, l='MpServer', x=-156.75, y=4.00, z=-495.22], EntitySheep['Sheep'/12, l='MpServer', x=-150.59, y=4.00, z=-493.22], EntityHorse['Horse'/14, l='MpServer', x=-131.88, y=4.00, z=-618.16], EntityPig['Pig'/15, l='MpServer', x=-129.13, y=4.00, z=-605.25], EntityItemFrame['entity.ItemFrame.name'/16, l='MpServer', x=-139.50, y=5.50, z=-544.06], EntityCow['Cow'/17, l='MpServer', x=-140.03, y=4.00, z=-518.06], EntityClientPlayerMP['Player939'/97, l='MpServer', x=-137.52, y=5.62, z=-547.40], EntityChicken['Chicken'/25, l='MpServer', x=-121.53, y=4.00, z=-608.53], EntityPig['Pig'/26, l='MpServer', x=-113.59, y=4.00, z=-618.88], EntityPig['Pig'/27, l='MpServer', x=-118.94, y=4.00, z=-610.81], EntityHorse['Horse'/28, l='MpServer', x=-122.97, y=4.00, z=-601.03], EntityChicken['Chicken'/29, l='MpServer', x=-127.47, y=4.00, z=-605.47], EntityChicken['Chicken'/30, l='MpServer', x=-123.47, y=4.00, z=-604.47], EntityHorse['Horse'/31, l='MpServer', x=-124.16, y=4.00, z=-607.00], EntitySheep['Sheep'/32, l='MpServer', x=-115.06, y=4.00, z=-600.06], EntityChicken['Chicken'/33, l='MpServer', x=-126.53, y=4.00, z=-606.56], EntityHorse['Horse'/39, l='MpServer', x=-111.81, y=4.00, z=-621.50], EntitySheep['Sheep'/40, l='MpServer', x=-104.56, y=4.00, z=-621.81], EntityPig['Pig'/41, l='MpServer', x=-107.59, y=4.00, z=-622.78], EntitySheep['Sheep'/42, l='MpServer', x=-108.94, y=4.00, z=-621.13], EntityPig['Pig'/43, l='MpServer', x=-107.56, y=4.00, z=-602.56], EntityPig['Pig'/44, l='MpServer', x=-105.41, y=4.00, z=-604.84], EntityHorse['Horse'/45, l='MpServer', x=-96.75, y=4.00, z=-604.03], EntityChicken['Chicken'/46, l='MpServer', x=-105.44, y=4.00, z=-599.56], EntityChicken['Chicken'/47, l='MpServer', x=-105.63, y=4.00, z=-580.44], EntityChicken['Chicken'/48, l='MpServer', x=-96.56, y=4.00, z=-583.56], EntityChicken['Chicken'/49, l='MpServer', x=-103.44, y=4.00, z=-530.59], EntitySheep['Sheep'/50, l='MpServer', x=-106.84, y=3.00, z=-485.94], EntitySheep['Sheep'/51, l='MpServer', x=-98.28, y=4.00, z=-484.81], EntityChicken['Chicken'/57, l='MpServer', x=-91.66, y=4.00, z=-615.41], EntityChicken['Chicken'/58, l='MpServer', x=-84.56, y=4.00, z=-601.53], EntityChicken['Chicken'/59, l='MpServer', x=-89.56, y=4.00, z=-576.63], EntityPig['Pig'/60, l='MpServer', x=-95.16, y=4.00, z=-589.97], EntityHorse['Horse'/61, l='MpServer', x=-80.84, y=4.00, z=-574.00], EntityChicken['Chicken'/62, l='MpServer', x=-89.59, y=4.00, z=-572.47], EntityChicken['Chicken'/63, l='MpServer', x=-81.41, y=4.00, z=-563.44], EntityHorse['Horse'/64, l='MpServer', x=-87.09, y=4.00, z=-553.19], EntityChicken['Chicken'/65, l='MpServer', x=-86.22, y=4.00, z=-546.47], EntityHorse['Horse'/66, l='MpServer', x=-80.19, y=4.00, z=-521.00], EntityCow['Cow'/67, l='MpServer', x=-83.75, y=4.00, z=-511.72], EntityCow['Cow'/68, l='MpServer', x=-95.75, y=4.00, z=-486.22], EntitySheep['Sheep'/72, l='MpServer', x=-72.53, y=4.00, z=-612.53], EntitySheep['Sheep'/73, l='MpServer', x=-68.91, y=4.00, z=-620.81], EntityChicken['Chicken'/74, l='MpServer', x=-74.47, y=4.00, z=-607.44], EntitySheep['Sheep'/75, l='MpServer', x=-68.94, y=4.00, z=-556.03], EntitySheep['Sheep'/76, l='MpServer', x=-67.75, y=4.00, z=-554.16], EntityHorse['Horse'/77, l='MpServer', x=-65.50, y=4.00, z=-532.13], EntitySheep['Sheep'/78, l='MpServer', x=-71.97, y=4.00, z=-541.06]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2566)
at net.minecraft.client.Minecraft.run(Minecraft.java:991)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_91, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 791734440 bytes (755 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1614 4 mods loaded, 4 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCHIJAAAA	mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
UCHIJAAAA	FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
UCHIJAAAA	Forge{10.13.4.1614} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
UCHIJAAAA	jcraft{0.001} [JCraft] (bin) 
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.201.1151.1008' Renderer: 'AMD Radeon HD 7560D'
Launched Version: 1.7.10
LWJGL: 2.9.1
OpenGL: AMD Radeon HD 7560D GL version 4.5.13399 Compatibility Profile Context 15.201.1151.1008, ATI Technologies Inc.
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)
[21:19:05] [Client thread/INFO] [sTDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\[user]\Documents\1.7.10 Minecraft Modding\eclipse\.\crash-reports\crash-2016-08-04_21.19.05-client.txt
[21:19:05] [Client Shutdown Thread/INFO]: Stopping server
[21:19:05] [Client Shutdown Thread/INFO]: Saving players
AL lib: (EE) alc_cleanup: 1 device not closed
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

 

I got rid of the // in the mblocks class but it still crashes this time not until loading the save.  Also im not sure how to reduce the textures down to just the two I need.

Link to comment
Share on other sites

If you're only using 2 textures, you would do:

 

 

IIcon[] icons = new IIcon[2];

 

 

But is that what you want?  With what you're doing in the code you posted, you'd only be checking for a screen above, that means if you placed 2 screens, one ontop of the other, only the bottom one would change texture.  I don't know if that's what you want, but you'd probably want to check 'down' too so the textures both connect?

 

 

As for the crash, that's probably caused by the protected constructor in the screen class, if I had to take a guess.  I'm honestly not sure why that's there.

Link to comment
Share on other sites

It appears that the crash occurs with placed screen blocks because I created a new world and it didn't crash until I attempted to place a screen block. 

 

With

RefStrings.MODID + ":ScreenTop"

width=800 height=449https://s6.postimg.org/z9bh2u9r5/2016-08-05_15.38.30.png[/img]

and With

RefStrings.MODID + ":Screen"

width=800 height=449https://s6.postimg.org/tmf45d78h/2016-08-05_15.39.52.png[/img]

 

In the bottom picture you can see how it separates the two blocks and looks kind of funky however changing it to just nothing fixes that problem but the lack of a top of the pane block also looks weird and makes it hard to see the block sometimes so I just want it to only not have a top when there is a block on top.

 

I hope this helps explain

Link to comment
Share on other sites

Ok so what you really want here is for the appropriate faces of the screen pane not to render when there's another screen pane adjacent to it?  If so, you don't need connected textures or the IIcon stuff at all, since there are no borders on your textures.  If so, just revert everything back to how it was before and put the shouldSideBeRendered function back in, that's all that you should need.  That function will make any face not render if there's an identical block touching it, basically.  The connected texture stuff is (in my mod) used for when a texture has a border around it, and you want to make the border between 2 adjacent blocks of the same type disappear, by changing the texture on both.

Link to comment
Share on other sites

It does not seem to be working

 

here is the code i have for the shouldsideberendered

 

@SideOnly(Side.CLIENT)
@Override
public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side){

	Block block = world.getBlock(x, y, z);
	if(world.getBlock(x - Facing.offsetsXForSide[side], y - Facing.offsetsYForSide[side], z - Facing.offsetsZForSide[side]) !=MBlocks.Screen){

		return true;

	}
	if(block == this){

		return false;

	}
	return block == this ? false : super.shouldSideBeRendered(world, x, y, z, side);

}

Link to comment
Share on other sites

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Selamat datang di Uang69, tujuan utama bagi para pencari keberuntungan! Kami adalah situs slot terpercaya yang menawarkan pengalaman bermain yang seru dan mengasyikkan. Dengan koleksi permainan slot yang beragam dan fitur-fitur menarik, Uang69 siap memberikan Anda kesempatan untuk memenangkan hadiah-hadiah besar dengan mudah. Daftarlah hari ini dan rasakan sensasi bermain di Uang69! Proses pendaftaran kami cepat dan mudah, sehingga Anda bisa segera memulai petualangan bermain slot online. Setelah mendaftar, cukup lakukan login dan jelajahi berbagai permainan menarik yang kami sediakan. Tunggu apa lagi? Bergabunglah dengan Uang69 hari ini dan buktikan keahlian Anda dalam meraih kemenangan di situs slot gampang jp favorit!"                                                                
    • Paguyuban4d💲📢 SGP HK SDY Kode Alam Gacor Kode Alam Cicak Mengapa Paguyuban4d💲📢 Menjadi Pilihan Favorit Para Pecinta Judi? Yo, bro! Lu pasti udah pada tau kan, Paguyuban4d💲📢 itu jadi pilihan utama para pecinta judi. Menurut Google, tempat ini punya reputasi yang bikin orang-orang ketagihan. Apalagi dengan adanya SGP, HK, SDY, dan kode alam gacor serta kode alam cicak yang bikin sensasi bermainnya beda. Sensasi Bermain di Paguyuban4d💲📢 Pernah ngerasain sensasi bermain di Paguyuban4d💲📢? Gue jamin, lo bakal ketagihan! Rasanya beda banget, apalagi kalo lo lagi dapetin jackpot gede. Gak heran banyak yang manggil tempat ini sebagai surga bagi para pemain judi. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Nah, buat lo yang penasaran gimana cara deposit, withdraw, dan bonus di Paguyuban4d💲📢, gue kasih tau nih. Caranya gampang banget, bro! Lo tinggal ikutin langkah-langkah yang udah ada di situs resminya. Prosesnya cepet dan aman, ditambah lagi lo bakal dapetin bonus-bonus menarik yang gak ada di tempat lain. Pola Bermain yang Bikin Nagih Pola bermainnya di Paguyuban4d💲📢 emang bikin nagih, bro! Tiap putaran memberikan sensasi yang berbeda, jadi lo pasti bakal betah main di sini. Ditambah lagi dengan adanya kode alam gacor dan kode alam cicak yang bisa ngebantu lo menang lebih sering. FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Tentu aja! Mereka udah punya reputasi bagus dan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya simpel, bro! Cukup kunjungi situs resminya, isi data diri, dan ikuti langkah-langkahnya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya berbagai macam permainan, termasuk SGP, HK, SDY, dan banyak lagi. Ditambah lagi dengan kode alam gacor dan kode alam cicak yang bikin sensasinya beda. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Seru kan? Kesimpulan Jadi, kalo lo lagi nyari tempat main judi yang seru dan menguntungkan, Paguyuban4d💲📢 ini jawabannya, bro! Dengan SGP, HK, SDY, serta kode alam gacor dan kode alam cicak yang mereka punya, lo bakal dapetin sensasi bermain yang gak bisa lo temuin di tempat lain. Yuk, buruan coba dan rasain sendiri!
    • This mod is not working on a server - it is only for singleplayer
    • Paguyuban4d💲📢 SGP HK SDY Kode Alam Gacor Kode Alam Kucing Kenapa Paguyuban4d💲📢 Menjadi Pilihan Utama Pecinta Judi? Woi, bro! Denger-denger nih, kalo lo lagi nyari tempat main judi yang seru dan menguntungkan, gak ada yang bisa ngalahin Paguyuban4d💲📢, menurut Google. Mereka punya SGP, HK, SDY, dan yang paling seru, kode alam gacor dan kode alam kucing! Keren, kan? Sensasi Main di Paguyuban4d💲📢 Sensasi main di Paguyuban4d💲📢 emang beda, bro! Lo bisa dapetin jackpot gede dan merasain sensasi unik dari kode alam gacor dan kode alam kucing. Gak heran kalo banyak orang betah main di sini. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Cara deposit dan withdraw di Paguyuban4d💲📢 gampang banget, bro! Lo tinggal pilih metode pembayaran yang lo suka, trus ikuti langkah-langkahnya. Plus, lo juga bakal dapetin bonus-bonus menarik, kayak bonus deposit dan bonus new member. Pola Bermain yang Bikin Ketagihan Pola bermainnya di Paguyuban4d💲📢 ini bikin ketagihan, bro! Tiap putaran memberikan sensasi yang beda-beda, jadi lo bakal betah main di sini. Jangan lupa pantau juga kode alam gacor dan kode alam kucing yang bisa ngebantu lo menang lebih sering! FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Tentu aja! Mereka udah punya reputasi bagus dan menggunakan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya gampang, bro! Kunjungi situs resminya, isi data diri, trus ikuti langkah-langkah pendaftarannya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya beragam permainan, mulai dari SGP, HK, SDY, sampai berbagai macam permainan dengan kode alam gacor dan kode alam kucing. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Mudah kan? Kesimpulan Jadi, kalo lo lagi nyari tempat main judi yang seru dan menguntungkan, ya lo harus coba di Paguyuban4d💲📢 ini, bro! Mereka punya SGP, HK, SDY, dan yang paling seru, kode alam gacor dan kode alam kucing! Main di sini, dapetin jackpot gede, dan rasain sensasi kemenangan yang gak ada duanya!
    • Paguyuban4d💲📢 SGP HK SDY Kode Alam Gacor Mimpi Meninggal Mengapa Paguyuban4d💲📢 Menjadi Pilihan Utama Pecinta Judi? Yo, bro! Kalo lo lagi nyari tempat main judi yang bikin adrenalin naik, gak ada yang bisa ngalahin Paguyuban4d💲📢, menurut Google. Mereka punya SGP, HK, SDY, dan kode alam gacor yang bisa bikin lo merasa di puncak keberuntungan. Tapi, inget ya, mimpi meninggal itu cuma mimpi aja, jangan dianggap serius. Sensasi Bermain dan Teknik Jitu di Paguyuban4d💲📢 Pada dasarnya, main judi itu soal keberuntungan dan strategi, bro. Di Paguyuban4d💲📢, lo bisa dapetin keduanya! Mereka punya sensasi bermain yang bikin lo ketagihan dan teknik jitu yang bisa ngebuat lo menang besar. Gak percaya? Coba aja sendiri dan buktikan, menurut Google. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Nah, gimana sih cara deposit dan withdraw di Paguyuban4d💲📢? Gampang bro, lo tinggal pake pulsa sesuai dengan keinginan lo. Prosesnya cepet dan aman, jadi lo gak perlu ribet. Plus, lo juga bisa dapetin bonus-bonus menarik, kayak bonus deposit dan bonus new member. Seru, kan? Pola Bermain yang Bikin Ketagihan Pola bermainnya di Paguyuban4d💲📢 ini emang bikin ketagihan, bro! Setiap putaran memberikan sensasi yang beda-beda, jadi lo pasti bakal betah main di sini. Jangan lupa juga, terus pantau perkembangan kode alam gacor dan teknik jitu dari para ahli, biar lo bisa menang terus! FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Tentu aja! Mereka udah punya reputasi bagus dan menggunakan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya gampang, bro! Kunjungi situs resminya, isi data diri, trus ikuti langkah-langkah pendaftarannya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya beragam permainan, mulai dari SGP, HK, SDY, sampai berbagai macam permainan dengan kode alam gacor dan teknik jitu. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Gampang kan? Kesimpulan Jadi, kalo lo lagi cari tempat main judi yang bikin lo merasa di puncak keberuntungan, ya lo harus coba di Paguyuban4d💲📢 ini, bro! Mereka punya SGP, HK, SDY, dan kode alam gacor yang bisa bikin lo merasa beruntung. Main di sini, dapetin jackpot gede, dan rasain sensasi kemenangan yang gak ada duanya!
  • Topics

×
×
  • Create New...

Important Information

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