Skip to content

Commit

Permalink
Fix #1147, Fix #1146
Browse files Browse the repository at this point in the history
  • Loading branch information
Nedelosk committed Apr 29, 2016
1 parent 9e33648 commit 43ac71b
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 709 deletions.
1 change: 0 additions & 1 deletion src/main/java/forestry/core/gui/GuiForestry.java
Expand Up @@ -19,7 +19,6 @@
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.entity.player.InventoryPlayer;
Expand Down
33 changes: 27 additions & 6 deletions src/main/java/forestry/core/models/ModelCrate.java
Expand Up @@ -23,9 +23,12 @@
import java.util.IdentityHashMap;
import java.util.Map;

import javax.vecmath.Vector3f;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.client.renderer.block.model.ModelBlock;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.IResource;
Expand All @@ -40,8 +43,12 @@
import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.model.IFlexibleBakedModel;
import net.minecraftforge.client.model.IModel;
import net.minecraftforge.client.model.IModelState;
import net.minecraftforge.client.model.IPerspectiveAwareModel;
import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.client.model.MultiModel;
import net.minecraftforge.client.model.SimpleModelState;
import net.minecraftforge.client.model.TRSRTransformation;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
Expand Down Expand Up @@ -73,7 +80,8 @@ public static void initModel(ModelBakeEvent event){
MODEL_COMPASS = ObfuscationReflectionHelper.getPrivateValue(ModelBakery.class, event.modelLoader, 15);
MODEL_CLOCK = ObfuscationReflectionHelper.getPrivateValue(ModelBakery.class, event.modelLoader, 16);
} catch (IOException e) {
Log.error("Failed to bake crate model model.");
Log.error("Failed to init the crate model.");
e.printStackTrace();
}
}

Expand Down Expand Up @@ -200,10 +208,10 @@ private IFlexibleBakedModel getModel(ItemStack stack) {
/**
* Bake the crate model;
*/
private IFlexibleBakedModel getModelCrate() {
/*private IFlexibleBakedModel getModelCrate() {
IFlexibleBakedModel flexModel = getModel(new ItemStack(PluginStorage.items.crate, 1, 1));
return crateModel.bake(crateModel.getDefaultState(), flexModel.getFormat(), textureGetter);
}
}*/

/**
* Bake the crated model
Expand All @@ -213,16 +221,29 @@ public IBakedModel handleItemState(ItemStack stack) {
ItemCrated crated = (ItemCrated) stack.getItem();
String crateUID = StringUtil.cleanItemName(crated);
if (crates.get(crateUID) == null) {
IFlexibleBakedModel baseBaked = getModelCrate();

IFlexibleBakedModel baseBaked = getModel(new ItemStack(PluginStorage.items.crate, 1, 1));
//Set the crate color index to 100
for (BakedQuad quad : baseBaked.getGeneralQuads()) {
ObfuscationReflectionHelper.setPrivateValue(BakedQuad.class, quad, 100, 1);
}
crates.put(crateUID, new MultiModel.Baked(baseBaked, bakeContentModels(crated)));
crates.put(crateUID, new MultiModel.Baked(null, true, new IPerspectiveAwareModel.MapWrapper(baseBaked, getTransformations()), bakeContentModels(crated)));
}
return crates.get(crateUID);
}

public IModelState getTransformations(){
TRSRTransformation thirdperson = TRSRTransformation.blockCenterToCorner(new TRSRTransformation(
new Vector3f(0, 1f / 16, -3f / 16),
TRSRTransformation.quatFromYXZDegrees(new Vector3f(-90, 0, 0)),
new Vector3f(0.55f, 0.55f, 0.55f),
null));
TRSRTransformation firstperson = TRSRTransformation.blockCenterToCorner(new TRSRTransformation(
new Vector3f(0, 4f / 16, 2f / 16),
TRSRTransformation.quatFromYXZDegrees(new Vector3f(0, -135, 25)),
new Vector3f(1.7f, 1.7f, 1.7f),
null));
return new SimpleModelState(ImmutableMap.of(TransformType.THIRD_PERSON, thirdperson, TransformType.FIRST_PERSON, firstperson));
}

@Override
public boolean isGui3d() {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/forestry/core/render/RenderEscritoire.java
Expand Up @@ -40,7 +40,7 @@ public void renderTileEntityAt(TileEscritoire escritoire, double x, double y, do
if (escritoire != null) {
render(escritoire.getStackInSlot(InventoryEscritoire.SLOT_ANALYZE), escritoire.getOrientation(), x, y, z);
} else {
render(null, EnumFacing.EAST, x, y, z);
render(null, EnumFacing.SOUTH, x, y, z);
}
}

Expand Down
Expand Up @@ -15,8 +15,6 @@
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.item.ItemStack;

import org.lwjgl.opengl.GL11;

import forestry.core.gui.widgets.ItemStackWidgetBase;
import forestry.core.gui.widgets.WidgetManager;
import forestry.core.proxy.Proxies;
Expand Down
3 changes: 0 additions & 3 deletions src/main/java/forestry/plugins/compat/PluginIC2.java
Expand Up @@ -15,16 +15,13 @@
import javax.annotation.Nonnull;
import java.util.Set;

import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;

import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.common.Optional;
import net.minecraftforge.fml.common.event.FMLInterModComms;
import net.minecraftforge.fml.common.registry.GameRegistry;

import forestry.api.circuits.ChipsetManager;
import forestry.api.circuits.CircuitSocketType;
import forestry.api.circuits.ICircuitLayout;
Expand Down

0 comments on commit 43ac71b

Please sign in to comment.