Skip to content

Instantly share code, notes, and snippets.

@StillManic
Last active August 29, 2015 14:27
Show Gist options
  • Save StillManic/10e9b4249e4869030458 to your computer and use it in GitHub Desktop.
Save StillManic/10e9b4249e4869030458 to your computer and use it in GitHub Desktop.
package rcteam.rc2.block;
import com.google.common.collect.Lists;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.properties.PropertyHelper;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.launchwrapper.Launch;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import org.apache.logging.log4j.Level;
import rcteam.rc2.RC2;
import rcteam.rc2.block.te.TileEntityTrack;
import rcteam.rc2.item.ItemHammer;
import rcteam.rc2.rollercoaster.*;
import rcteam.rc2.util.Utils;
import java.util.Collection;
import java.util.List;
public class BlockTrack extends Block {
public static final PropertyDirection FACING = PropertyDirection.create("facing", Lists.newArrayList(EnumFacing.HORIZONTALS));
public static final TrackPieceProperty PIECE_PROPERTY = new TrackPieceProperty("piece");
// public ExtendedBlockState state = new ExtendedBlockState(this, new IProperty[] {FACING, PIECE_PROPERTY}, new IUnlistedProperty[] {TrackProperty.instance});
// protected TrackPieceInfo info;
public BlockTrack(TrackPieceInfo info) {
super(info.getCategory().getMaterial());
// PIECE_PROPERTY.setAllowedValues(Lists.newArrayList(info));
// this.info = info;
setCreativeTab(RC2.tab);
setBlockUnbreakable();
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH).withProperty(PIECE_PROPERTY, info.getCurrentPiece()));
setBlockBounds(0f, 0f, 0f, 1f, 0.5f, 1f);
setUnlocalizedName("track_" + info.getCategory().getName());
}
// public TrackPieceInfo getInfo() {
// return this.info;
// }
// public void setInfo(TrackPieceInfo info) {
// this.info = info;
// }
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean isFullCube() {
return false;
}
@Override
public boolean isVisuallyOpaque() {
return false;
}
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List list) {
for (CategoryEnum categoryEnum : CategoryEnum.values()) {
list.add(new ItemStack(item, 1, categoryEnum.ordinal()));
}
}
@Override
public BlockState createBlockState() {
return new BlockState(this, FACING, PIECE_PROPERTY);
}
@Override
public IBlockState getStateFromMeta(int meta) {
// if (this.info != null) {
// return this.getDefaultState().withProperty(FACING, EnumFacing.getHorizontal(meta)).withProperty(PIECE_PROPERTY, this.info.getCurrentPiece());
// }
return this.getDefaultState().withProperty(FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state) {
// EnumFacing facing = ((EnumFacing) state.getValue(FACING));
// if (facing == EnumFacing.DOWN || facing == EnumFacing.UP) {
// return 0;
// } else {
return ((EnumFacing) state.getValue(FACING)).getHorizontalIndex();
// }
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
if (world.getTileEntity(pos) != null && world.getTileEntity(pos) instanceof TileEntityTrack) {
TileEntityTrack tileEntityTrack = (TileEntityTrack) world.getTileEntity(pos);
if (!state.getValue(PIECE_PROPERTY).equals(tileEntityTrack.getInfo().getCurrentPiece())) {
RC2.logger.printf(Level.INFO, "Updating state: X: %d, Y: %d, Z: %d, Input: %s, Current: %s", pos.getX(), pos.getY(), pos.getZ(), ((TrackPiece)state.getValue(PIECE_PROPERTY)).getName(), tileEntityTrack.getInfo().getCurrentPiece().getName());
state = state.withProperty(PIECE_PROPERTY, tileEntityTrack.getInfo().getCurrentPiece());
}
}
return state;
}
@Override
public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
//TODO: things will be set from the track designer later
return this.getDefaultState().withProperty(FACING, Utils.getFacingFromEntity(worldIn, pos, placer, false, false));
// return this.getDefaultState().withProperty(FACING, Utils.getFacingFromEntity(worldIn, pos, placer, false, false)).withProperty(PIECE_PROPERTY, this.info.cycleCurrentPiece());
}
@Override
public int getRenderType() {
return 3;
}
@Override
public boolean hasTileEntity(IBlockState state) {
return true;
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
TileEntityTrack tileEntityTrack = new TileEntityTrack(((TrackPiece)state.getValue(PIECE_PROPERTY)).getCategory().getInfo());
return tileEntityTrack;
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) {
// RC2.logger.info("someones punching me!");
// RC2.logger.printf(Level.INFO, "X: %d, Y: %d, Z: %d", pos.getX(), pos.getY(), pos.getZ());
// if (RC2.isRunningInDev && worldIn.isRemote) {
// if (playerIn.getCurrentEquippedItem() != null && playerIn.getCurrentEquippedItem().getItem() != null && playerIn.getCurrentEquippedItem().getItem() instanceof ItemHammer) {
// ItemHammer hammer = (ItemHammer) playerIn.getCurrentEquippedItem().getItem();
// if (hammer.mode.name.equalsIgnoreCase("Rotate")) {
// worldIn.setBlockState(pos, worldIn.getBlockState(pos).cycleProperty(FACING), 3);
// } else if (hammer.mode.name.equalsIgnoreCase("Adjustment")) {
//// worldIn.setBlockState(pos, worldIn.getBlockState(pos).cycleProperty(PIECE_PROPERTY));
// TileEntityTrack tileEntityTrack = (TileEntityTrack) worldIn.getTileEntity(pos);
// tileEntityTrack.info.cycleCurrentPiece();
// worldIn.setBlockState(pos, worldIn.getBlockState(pos).withProperty(PIECE_PROPERTY, tileEntityTrack.info.getCurrentPiece()), 3);
// worldIn.markBlockRangeForRenderUpdate(pos, pos);
// }
// }
// }
return false;
}
public static class TrackPieceProperty extends PropertyHelper {
private List<TrackPiece> allowedValues;
public TrackPieceProperty(String name) {
super(name, TrackPiece.class);
}
public void setAllowedValues(List<TrackPiece> allowedValues) {
this.allowedValues = allowedValues;
}
@Override
public Collection getAllowedValues() {
return this.allowedValues;
}
@Override
public String getName(Comparable value) {
return ((TrackPiece) value).getName();
}
}
}
package rcteam.rc2.item;
import com.google.common.collect.Lists;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import rcteam.rc2.RC2;
import rcteam.rc2.block.BlockTrack;
import rcteam.rc2.block.te.TileEntityTrack;
import rcteam.rc2.util.HammerMode;
import java.util.ArrayList;
import java.util.List;
public class ItemHammer extends Item {
public static List<HammerMode> modes = Lists.newArrayList(
new HammerMode("Rotate") { //TODO: make these pull from lang files? make HammerMode an enum?
@Override
public void onRightClick(TileEntity tileEntity, PlayerInteractEvent event) {
}
},
new HammerMode("Change Type") {
@Override
public void onRightClick(TileEntity tileEntity, PlayerInteractEvent event) {
}
},
new HammerMode("Adjustment") {
@Override
public void onRightClick(TileEntity tileEntity, PlayerInteractEvent event) {
}
}
);
public HammerMode mode = modes.get(0);
public ItemHammer() {
setMaxStackSize(1);
setMaxDamage(100);
setUnlocalizedName("hammer");
setCreativeTab(RC2.tab);
}
@Override
public boolean getShareTag() {
return true;
}
@Override
public ItemStack getContainerItem(ItemStack itemStack) {
ItemStack copiedStack = itemStack.copy();
copiedStack.setItemDamage(copiedStack.getItemDamage() + 1);
copiedStack.stackSize = 1;
return copiedStack;
}
@Override
public boolean hasContainerItem(ItemStack stack) {
return true;
}
@Override
public void onCreated(ItemStack stack, World world, EntityPlayer player) {
if (!stack.hasTagCompound()) stack.setTagCompound(new NBTTagCompound());
stack.getTagCompound().setInteger("mode", modes.indexOf(this.mode));
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean val) {
onCreated(stack, player.getEntityWorld(), player);
list.add(modes.get(stack.getTagCompound().getInteger("mode")).name + " Mode");
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if (!world.isRemote && player.isSneaking()) {
RC2.logger.info("changing mode");
int index = modes.indexOf(this.mode);
if (index + 1 == modes.size()) {
this.mode = modes.get(0);
} else {
this.mode = modes.get(index + 1);
}
}
return stack;
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ) {
if (RC2.isRunningInDev && world.isRemote) {
if (world.getTileEntity(pos) != null && world.getTileEntity(pos) instanceof TileEntityTrack) {
if (this.mode.name.equalsIgnoreCase("Rotate")) {
world.setBlockState(pos, world.getBlockState(pos).cycleProperty(BlockTrack.FACING), 3);
} else if (this.mode.name.equalsIgnoreCase("Adjustment")) {
TileEntityTrack tileEntityTrack = (TileEntityTrack) world.getTileEntity(pos);
tileEntityTrack.info.cycleCurrentPiece();
world.setBlockState(pos, world.getBlockState(pos).withProperty(BlockTrack.PIECE_PROPERTY, tileEntityTrack.info.getCurrentPiece()), 3);
}
return true;
}
}
return false;
}
}
package rcteam.rc2.item;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.launchwrapper.Launch;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import rcteam.rc2.RC2;
import rcteam.rc2.block.BlockTrack;
import rcteam.rc2.block.te.TileEntityTrack;
import rcteam.rc2.rollercoaster.CategoryEnum;
import rcteam.rc2.rollercoaster.TrackPieceInfo;
import rcteam.rc2.util.Reference;
import rcteam.rc2.util.Utils;
import java.util.List;
public class ItemTrack extends ItemBlock {
private BlockTrack track;
private TrackPieceInfo info;
public ItemTrack(Block track) {
super(track);
this.track = (BlockTrack) track;
}
public ItemTrack(Block track, TrackPieceInfo info) {
super(track);
this.track = (BlockTrack) track;
this.info = info;
}
public BlockTrack getTrack() {
return this.track;
}
public TrackPieceInfo getInfo() {
return this.info;
}
@Override
public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState newState) {
if (RC2.isRunningInDev) { //this makes tracks placeable by hand when run in a dev env
//TODO!
stack.setTagInfo("BlockEntityTag", new NBTTagCompound());
stack.setTagInfo("info", this.info.writeToNBT());
world.setBlockState(pos, newState.withProperty(BlockTrack.PIECE_PROPERTY, this.info.getCurrentPiece()).withProperty(BlockTrack.FACING, Utils.getFacingFromEntity(world, pos, player, false, false)), 3);
setTileEntityNBT(world, pos, stack, player);
return true;
}
return false;
}
// @SuppressWarnings("unchecked")
// @Override
// public void getSubItems(Item item, CreativeTabs tabs, List subItems) {
// if (item instanceof ItemTrack) {
// for (CategoryEnum categoryEnum : CategoryEnum.values()) {
// ItemStack stack = new ItemStack(this.block, 1, categoryEnum.ordinal());
// stack.setTagInfo("info", this.info.writeToNBT());
// subItems.add(stack);
// }
// }
// }
@SuppressWarnings("unchecked")
@Override
public void addInformation(ItemStack stack, EntityPlayer playerIn, List tooltip, boolean advanced) {
//TODO: clean up this nbt stuff
if (!stack.hasTagCompound()) {
NBTTagCompound compound = new NBTTagCompound();
stack.setTagCompound(compound);
compound.setTag("info", this.info.writeToNBT());
} else if (!stack.getTagCompound().hasKey("info")) {
stack.getTagCompound().setTag("info", this.info.writeToNBT());
}
TrackPieceInfo info = TrackPieceInfo.readFromNBT(stack.getTagCompound().getCompoundTag("info"));
tooltip.add(info.getCurrentPiece().getDisplayName());
tooltip.add(info.getCurrentPiece().getName());
}
public static class ItemTrackMeshDefinition implements ItemMeshDefinition {
public static final ItemTrackMeshDefinition INSTANCE = new ItemTrackMeshDefinition();
private String name = "inventory";
public void setVariantName(String name) {
if (name != null && !name.isEmpty()) {
this.name = name;
}
}
@Override
public ModelResourceLocation getModelLocation(ItemStack stack) {
ModelResourceLocation location = new ModelResourceLocation(Reference.RESOURCE_PREFIX + "tracks/hyper_twister", name);
return location;
}
}
}
Connected to the target VM, address: '127.0.0.1:54945', transport: 'socket'
[17:52:21] [main/INFO] [GradleStart]: username: [email protected]
[17:52:21] [main/INFO] [GradleStart]: Extra: []
[17:52:21] [main/INFO] [GradleStart]: Password found, attempting login
[17:52:21] [main/INFO]: Logging in with username & password
[17:52:23] [main/INFO] [GradleStart]: Login Succesful!
[17:52:23] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, [{"name":"twitch_access_token","value":"fnpsih9tsgq7wgs04619cbzxwfu024d"}], --assetsDir, C:/Users/Gerald/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --userType, mojang, --accessToken, {REDACTED}, --version, 1.8, --uuid, 1487d900d7a847b494cf0cd5ddf9160e, --username, shadekiller666, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[17:52:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[17:52:23] [main/INFO] [FML]: Forge Mod Loader version 8.99.205.1502 for Minecraft 1.8 loading
[17:52:23] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_45, running on Windows 8.1:amd64:6.3, installed at C:\Program Files\Java\jdk1.8.0_45\jre
[17:52:23] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[17:52:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[17:52:23] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[17:52:23] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[17:52:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:52:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[17:52:23] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[17:52:26] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[17:52:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[17:52:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[17:52:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[17:52:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[17:52:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[17:52:26] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[17:52:27] [Client thread/INFO]: Setting user: shadekiller666
[17:52:29] [Client thread/INFO]: LWJGL Version: 2.9.1
[17:52:30] [Client thread/INFO] [STDOUT]: [net.minecraftforge.fml.client.SplashProgress:start:235]: ---- Minecraft Crash Report ----
// But it works on my machine.
Time: 8/18/15 5:52 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.8
Operating System: Windows 8.1 (amd64) version 6.3
Java Version: 1.8.0_45, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 702201656 bytes (669 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML:
Loaded coremods (and transformers):
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.200.1062.1002' Renderer: 'AMD Radeon HD 7800 Series'
[17:52:30] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
[17:52:30] [Client thread/INFO] [FML]: MinecraftForge v11.14.3.1502 Initialized
[17:52:30] [Client thread/INFO] [FML]: Replaced 204 ore recipies
[17:52:30] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
[17:52:30] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[17:52:30] [Client thread/INFO] [FML]: Searching C:\Users\Gerald\Documents\GitHub\Rollercoaster2\eclipse\mods for mods
[17:52:34] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
[17:52:34] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, rc2] at CLIENT
[17:52:34] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, rc2] at SERVER
[17:52:35] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:§4§lRollercoaster 2
[17:52:35] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[17:52:35] [Client thread/INFO] [FML]: Found 384 ObjectHolder annotations
[17:52:35] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[17:52:35] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[17:52:35] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[17:52:35] [Client thread/INFO] [FML]: Applying holder lookups
[17:52:35] [Client thread/INFO] [FML]: Holder lookups applied
[17:52:35] [Client thread/INFO] [FML]: Injecting itemstacks
[17:52:35] [Client thread/INFO] [FML]: Itemstack injection complete
[17:52:35] [Sound Library Loader/INFO]: Starting up SoundSystem...
[17:52:35] [Twitch authenticator/ERROR]: Given twitch access token is invalid
[17:52:36] [Thread-9/INFO]: Initializing LWJGL OpenAL
[17:52:36] [Thread-9/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[17:52:36] [Thread-9/INFO]: OpenAL initialized.
[17:52:36] [Sound Library Loader/INFO]: Sound engine started
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/straight.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/straight.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/straight.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/straight.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/small_corner.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/small_corner.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/small_corner.mtl') is not currently supported, skipping
[17:52:37] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/small_corner.mtl') is not currently supported, skipping
[17:52:38] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl') is not currently supported, skipping
[17:52:38] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:38] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl') is not currently supported, skipping
[17:52:38] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl') is not currently supported, skipping
[17:52:38] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl') is not currently supported, skipping
[17:52:38] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:38] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl') is not currently supported, skipping
[17:52:38] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl') is not currently supported, skipping
[17:52:38] [Client thread/INFO] [FML]: Max texture size: 16384
[17:52:38] [Client thread/INFO]: Created: 16x16 textures-atlas
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#inventory not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#inventory not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:cone#inventory not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#inventory not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=medium_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=large_corner_right not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=small_corner not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=large_corner_left not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=straight not found
[17:52:39] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=medium_corner not found
[17:52:39] [Client thread/INFO] [FML]: Injecting itemstacks
[17:52:39] [Client thread/INFO] [FML]: Itemstack injection complete
[17:52:40] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
[17:52:40] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:§4§lRollercoaster 2
[17:52:40] [Client thread/INFO]: SoundSystem shutting down...
[17:52:40] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[17:52:40] [Sound Library Loader/INFO]: Starting up SoundSystem...
[17:52:40] [Thread-11/INFO]: Initializing LWJGL OpenAL
[17:52:40] [Thread-11/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[17:52:40] [Thread-11/INFO]: OpenAL initialized.
[17:52:40] [Sound Library Loader/INFO]: Sound engine started
[17:52:41] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/straight.mtl') is not currently supported, skipping
[17:52:41] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/straight.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:41] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/straight.mtl') is not currently supported, skipping
[17:52:41] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/straight.mtl') is not currently supported, skipping
[17:52:41] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl') is not currently supported, skipping
[17:52:41] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:41] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl') is not currently supported, skipping
[17:52:41] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/medium_corner.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/small_corner.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/small_corner.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/small_corner.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/small_corner.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_right.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'illum' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJModel: A color has already been defined for material 'initialShadingGroup' in 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl'. The color defined by key 'Ka' will not be applied!
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Tf' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: OBJLoader.MaterialLibrary: command 'Ni' (model: 'rc2:models/block/tracks/hyper_twister/large_corner_left.mtl') is not currently supported, skipping
[17:52:42] [Client thread/INFO] [FML]: Max texture size: 16384
[17:52:43] [Client thread/INFO]: Created: 512x512 textures-atlas
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:strawberry#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:vanilla#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:mint#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=south,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:cone#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=east,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=north,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=west,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=north,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:chocolate#inventory not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=south,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_wooden#facing=west,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=east,piece=large_corner_right not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_water#facing=north,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=small_corner not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=east,piece=large_corner_left not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=south,piece=straight not found
[17:52:43] [Client thread/ERROR] [FML]: Model definition for location rc2:track_inverted#facing=west,piece=medium_corner not found
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: DOMAIN minecraft
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: --------------------------------------------------
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: domain minecraft is missing 1 texture
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: domain minecraft has 3 locations:
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: unknown resourcepack type net.minecraft.client.resources.DefaultResourcePack : Default
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: mod FML resources at C:\Users\Gerald\.gradle\caches\minecraft\net\minecraftforge\forge\1.8-11.14.3.1502\snapshot\20141130\forgeSrc-1.8-11.14.3.1502.jar
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: mod Forge resources at C:\Users\Gerald\.gradle\caches\minecraft\net\minecraftforge\forge\1.8-11.14.3.1502\snapshot\20141130\forgeSrc-1.8-11.14.3.1502.jar
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: The missing resources for domain minecraft are:
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: textures/builtin/white.png
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: No other errors exist for domain minecraft
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[17:52:43] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
package rcteam.rc2.block;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fml.relauncher.Side;
import org.apache.commons.lang3.tuple.Pair;
import rcteam.rc2.block.te.*;
import rcteam.rc2.item.ItemTrack;
import rcteam.rc2.rollercoaster.CategoryEnum;
import rcteam.rc2.rollercoaster.TrackPieceInfo;
import rcteam.rc2.rollercoaster.TrackPieceRegistry;
import rcteam.rc2.rollercoaster.TrackStateMapper;
import rcteam.rc2.util.Reference;
import java.util.List;
import java.util.Map;
public class RC2Blocks {
public static final Map<Block, Pair<String, ModelResourceLocation>> modelMap = Maps.newHashMap();
public static Block entrance;
public static Block track_steel;
public static Block track_wood;
public static Block track_inverted;
public static Block track_water;
public static void preInit(Side side) {
entrance = new BlockEntrance();
registerBlock(entrance, "entrance");
// for (CategoryEnum categoryEnum : CategoryEnum.values()) {
// categoryEnum.getInfo().addPieces(TrackPieceRegistry.INSTANCE.getPieces()); //TODO: distinguish between different categories!!!
// categoryEnum.getInfo().setCurrentPiece("straight");
// }
CategoryEnum.STEEL.addPieces(TrackPieceRegistry.INSTANCE.getPieces()).setCurrentPiece("straight");
CategoryEnum.WOODEN.addPieces(TrackPieceRegistry.INSTANCE.getPieces()).setCurrentPiece("straight");
CategoryEnum.INVERTED.addPieces(TrackPieceRegistry.INSTANCE.getPieces()).setCurrentPiece("straight");
CategoryEnum.WATER.addPieces(TrackPieceRegistry.INSTANCE.getPieces()).setCurrentPiece("straight");
BlockTrack.PIECE_PROPERTY.setAllowedValues(CategoryEnum.STEEL.getInfo().getPieces());
track_steel = new BlockTrack(CategoryEnum.STEEL.getInfo());
BlockTrack.PIECE_PROPERTY.setAllowedValues(CategoryEnum.WOODEN.getInfo().getPieces());
track_wood = new BlockTrack(CategoryEnum.WOODEN.getInfo());
BlockTrack.PIECE_PROPERTY.setAllowedValues(CategoryEnum.INVERTED.getInfo().getPieces());
track_inverted = new BlockTrack(CategoryEnum.INVERTED.getInfo());
BlockTrack.PIECE_PROPERTY.setAllowedValues(CategoryEnum.WATER.getInfo().getPieces());
track_water = new BlockTrack(CategoryEnum.WATER.getInfo());
if (side == Side.CLIENT) {
ModelLoader.setCustomStateMapper(track_steel, TrackStateMapper.INSTANCE);
ModelLoader.setCustomStateMapper(track_wood, TrackStateMapper.INSTANCE);
ModelLoader.setCustomStateMapper(track_inverted, TrackStateMapper.INSTANCE);
ModelLoader.setCustomStateMapper(track_water, TrackStateMapper.INSTANCE);
}
registerBlock(track_steel, ItemTrack.class, "track_steel", CategoryEnum.STEEL.getInfo());
registerBlock(track_wood, ItemTrack.class, "track_wooden", CategoryEnum.WOODEN.getInfo());
registerBlock(track_inverted, ItemTrack.class, "track_inverted", CategoryEnum.INVERTED.getInfo());
registerBlock(track_water, ItemTrack.class, "track_water", CategoryEnum.WATER.getInfo());
if (side == Side.CLIENT) {
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(track_steel), ItemTrack.ItemTrackMeshDefinition.INSTANCE);
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(track_wood), ItemTrack.ItemTrackMeshDefinition.INSTANCE);
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(track_inverted), ItemTrack.ItemTrackMeshDefinition.INSTANCE);
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(track_water), ItemTrack.ItemTrackMeshDefinition.INSTANCE);
//this applies to BlockTrack.class, so it only needs to be called once, instead of on each instance of BlockTrack
ModelBakery.addVariantName(Item.getItemFromBlock(track_steel), Reference.RESOURCE_PREFIX + "tracks/hyper_twister");
}
registerTE(TileEntityEntrance.class, entrance);
registerTE(TileEntityTrack.class, track_steel);
registerTE(TileEntityTrack.class, track_wood);
registerTE(TileEntityTrack.class, track_inverted);
registerTE(TileEntityTrack.class, track_water);
}
private static void registerBlock(Block block, String name) {
GameRegistry.registerBlock(block, name);
modelMap.put(block, Pair.of(name, null));
}
private static void registerBlock(Block block, Class<? extends ItemBlock> itemClass, String name, Object ... args) {
GameRegistry.registerBlock(block, itemClass, name, args);
modelMap.put(block, Pair.of(name, null));
}
private static void registerTE(Class<? extends TileEntity> te, Block block) {
GameRegistry.registerTileEntity(te, modelMap.get(block).getLeft());
}
public static void init(Side side) {
List<Block> blocks = Lists.newArrayList(modelMap.keySet());
for (Block block : blocks) {
ModelResourceLocation location = new ModelResourceLocation(Reference.RESOURCE_PREFIX + modelMap.get(block).getLeft(), "inventory");
modelMap.put(block, Pair.of(modelMap.get(block).getLeft(), location));
if (side == Side.CLIENT) {
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0, location);
}
}
}
}
package rcteam.rc2.block.te;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import rcteam.rc2.block.BlockTrack;
import rcteam.rc2.network.packets.PacketThemeParkEntrance;
import rcteam.rc2.rollercoaster.*;
public class TileEntityTrack extends TileEntity {
// public CoasterStyle style;
// public CategoryEnum category;
// public TrackPiece piece;
public TrackPieceInfo info;
public TileEntityTrack() {
// this.info = new TrackPieceInfo(CategoryEnum.STEEL, TrackPieceRegistry.INSTANCE.getPiece("straight"));
}
// public TileEntityTrack(CoasterStyle style) {
// this.style = style;
// }
// public TileEntityTrack(CategoryEnum category, TrackPiece piece) {
// this.category = category;
// this.piece = piece;
// }
public TileEntityTrack(TrackPieceInfo info) {
this.info = info;
}
public TrackPieceInfo getInfo() {
return this.info;
}
@Override
public void readFromNBT(NBTTagCompound compound) {
super.readFromNBT(compound);
if (compound.hasKey("info")) this.info = TrackPieceInfo.readFromNBT(compound.getCompoundTag("info"));
}
@Override
public void writeToNBT(NBTTagCompound compound) {
super.writeToNBT(compound);
if (this.info != null) compound.setTag("info", this.info.writeToNBT());
}
@Override
public void onChunkUnload() {
this.writeToNBT(this.getTileData());
}
@Override
public Packet getDescriptionPacket() {
return new S35PacketUpdateTileEntity(this.getPos(), this.getBlockMetadata(), this.info.writeToNBT());
}
@Override
public void onDataPacket(NetworkManager manager, S35PacketUpdateTileEntity packet) {
this.readFromNBT(packet.getNbtCompound());
}
// public void updateTrackInfo(World world, ) {
// this.info.cycleCurrentPiece();
// this.worldObj.setBlockState(this.pos, this.blockType.getDefaultState().withProperty(BlockTrack.PIECE_PROPERTY, this.info.getCurrentPiece()), 3);
// }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment