Fixed the model perspective of the biome radar
This commit is contained in:
parent
2fb6414141
commit
fb592e3aaf
26
build.gradle
26
build.gradle
|
@ -107,21 +107,18 @@ artifacts {
|
||||||
|
|
||||||
uploadArchives {
|
uploadArchives {
|
||||||
dependsOn 'build'
|
dependsOn 'build'
|
||||||
|
repositories {
|
||||||
repositories.mavenDeployer {
|
if (project.hasProperty("filesmaven")) {
|
||||||
if ("$System.env.maven_username" != "null" && "$System.env.maven_password" != "null") {
|
|
||||||
logger.info('Publishing to files server')
|
logger.info('Publishing to files server')
|
||||||
|
|
||||||
repository(url: "http://files.minecraftforge.net/maven/manage/upload") {
|
mavenDeployer {
|
||||||
authentication(userName: 'console_script', password: 'dc6d48ca20a474beeac280a9a16a926e')
|
configuration = configurations.deployJars
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.info('Publishing to repo folder')
|
|
||||||
|
|
||||||
pom.version = "${project.minecraft.version}-${project.version}"
|
repository(url: project.filesmaven.url) {
|
||||||
repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
|
authentication(userName: project.filesmaven.username, privateKey: project.filesmaven.key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is just the pom data for the maven repo
|
||||||
pom {
|
pom {
|
||||||
groupId = project.group
|
groupId = project.group
|
||||||
version = project.version
|
version = project.version
|
||||||
|
@ -176,4 +173,13 @@ uploadArchives {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
logger.info('Publishing to repo folder')
|
||||||
|
|
||||||
|
mavenDeployer {
|
||||||
|
pom.version = "${project.minecraft.version}-${project.version}"
|
||||||
|
repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
package biomesoplenty.client.handler;
|
package biomesoplenty.client.handler;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -17,15 +18,17 @@ import biomesoplenty.client.util.TextureUtils;
|
||||||
import net.minecraft.client.renderer.texture.TextureMap;
|
import net.minecraft.client.renderer.texture.TextureMap;
|
||||||
import net.minecraft.client.resources.model.IBakedModel;
|
import net.minecraft.client.resources.model.IBakedModel;
|
||||||
import net.minecraft.client.resources.model.ModelResourceLocation;
|
import net.minecraft.client.resources.model.ModelResourceLocation;
|
||||||
import net.minecraft.client.resources.model.SimpleBakedModel;
|
|
||||||
import net.minecraft.util.IRegistry;
|
import net.minecraft.util.IRegistry;
|
||||||
import net.minecraftforge.client.event.ModelBakeEvent;
|
import net.minecraftforge.client.event.ModelBakeEvent;
|
||||||
import net.minecraftforge.client.event.TextureStitchEvent;
|
import net.minecraftforge.client.event.TextureStitchEvent;
|
||||||
|
import net.minecraftforge.client.model.IModel;
|
||||||
|
import net.minecraftforge.client.model.ModelLoader;
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
|
||||||
public class ModelBakeHandler
|
public class ModelBakeHandler
|
||||||
{
|
{
|
||||||
public static final ModelResourceLocation BIOME_FINDER = new ModelResourceLocation("biomesoplenty:biome_finder", "inventory");
|
public static final ModelResourceLocation BIOME_FINDER_LOC = new ModelResourceLocation("biomesoplenty:item/biome_finder", "inventory");
|
||||||
|
public static final ModelResourceLocation BIOME_FINDER_REG_LOC = new ModelResourceLocation("biomesoplenty:biome_finder", "inventory");
|
||||||
|
|
||||||
public static List<String> fluidsToTextureStitch = new ArrayList<String>();
|
public static List<String> fluidsToTextureStitch = new ArrayList<String>();
|
||||||
|
|
||||||
|
@ -45,11 +48,16 @@ public class ModelBakeHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onModelBake(ModelBakeEvent event)
|
public void onModelBake(ModelBakeEvent event) throws IOException
|
||||||
{
|
{
|
||||||
IRegistry modelRegistry = event.modelRegistry;
|
IRegistry<ModelResourceLocation, IBakedModel> modelRegistry = event.modelRegistry;
|
||||||
IBakedModel biomeFinderModel = (IBakedModel)modelRegistry.getObject(BIOME_FINDER);
|
ModelLoader modelLoader = event.modelLoader;
|
||||||
|
|
||||||
modelRegistry.putObject(BIOME_FINDER, new ModelBiomeFinder(biomeFinderModel, biomeFinderFrames));
|
//NOTE: If there are issues with this in the future, it may be useful to investigate ItemLayerModel
|
||||||
|
|
||||||
|
//Get the existing model defined by the json file
|
||||||
|
IModel biomeFinderModel = modelLoader.getModel(BIOME_FINDER_LOC);
|
||||||
|
//Replace the existing model with our new flexible one
|
||||||
|
modelRegistry.putObject(BIOME_FINDER_REG_LOC, new ModelBiomeFinder(biomeFinderModel, biomeFinderFrames));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,18 +18,17 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraftforge.client.model.IFlexibleBakedModel;
|
import net.minecraftforge.client.model.IFlexibleBakedModel;
|
||||||
|
import net.minecraftforge.client.model.IModel;
|
||||||
import net.minecraftforge.client.model.ISmartItemModel;
|
import net.minecraftforge.client.model.ISmartItemModel;
|
||||||
|
|
||||||
public class ModelBiomeFinder extends IFlexibleBakedModel.Wrapper implements ISmartItemModel
|
public class ModelBiomeFinder extends IFlexibleBakedModel.Wrapper implements ISmartItemModel
|
||||||
{
|
{
|
||||||
|
|
||||||
private IBakedModel[] frames;
|
private IBakedModel[] frames;
|
||||||
private IBakedModel defaultModel;
|
|
||||||
|
|
||||||
public ModelBiomeFinder(IBakedModel defaultModel, TextureAtlasSprite[] frameTextures)
|
public ModelBiomeFinder(IModel defaultModel, TextureAtlasSprite[] frameTextures)
|
||||||
{
|
{
|
||||||
super(defaultModel, DefaultVertexFormats.ITEM);
|
super(null, DefaultVertexFormats.ITEM);
|
||||||
this.defaultModel = defaultModel;
|
|
||||||
this.frames = ModelUtils.generateModelsForTextures(defaultModel, frameTextures);
|
this.frames = ModelUtils.generateModelsForTextures(defaultModel, frameTextures);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +36,7 @@ public class ModelBiomeFinder extends IFlexibleBakedModel.Wrapper implements ISm
|
||||||
public IBakedModel handleItemState(ItemStack stack)
|
public IBakedModel handleItemState(ItemStack stack)
|
||||||
{
|
{
|
||||||
EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
|
EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
|
||||||
if (player == null) {return this.defaultModel;}
|
if (player == null) {return this.frames[0];}
|
||||||
|
|
||||||
NBTTagCompound nbt = stack.getTagCompound();
|
NBTTagCompound nbt = stack.getTagCompound();
|
||||||
if (nbt != null && nbt.hasKey("biomeIDToFind"))
|
if (nbt != null && nbt.hasKey("biomeIDToFind"))
|
||||||
|
|
|
@ -8,43 +8,36 @@
|
||||||
|
|
||||||
package biomesoplenty.client.util;
|
package biomesoplenty.client.util;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import com.google.common.base.Function;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||||
|
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||||
import net.minecraft.client.resources.model.IBakedModel;
|
import net.minecraft.client.resources.model.IBakedModel;
|
||||||
import net.minecraft.client.resources.model.SimpleBakedModel;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraftforge.client.model.IModel;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
|
|
||||||
public class ModelUtils
|
public class ModelUtils
|
||||||
{
|
{
|
||||||
public static IBakedModel[] generateModelsForTextures(IBakedModel model, TextureAtlasSprite[] textures)
|
public static IBakedModel[] generateModelsForTextures(IModel model, TextureAtlasSprite[] textures)
|
||||||
{
|
{
|
||||||
IBakedModel[] output = new IBakedModel[textures.length];
|
IBakedModel[] output = new IBakedModel[textures.length];
|
||||||
|
|
||||||
for (int i = 0; i < output.length; i++)
|
for (int i = 0; i < output.length; i++)
|
||||||
{
|
{
|
||||||
TextureAtlasSprite texture = textures[i];
|
final TextureAtlasSprite texture = textures[i];
|
||||||
SimpleBakedModel.Builder builder = new SimpleBakedModel.Builder(model, texture);
|
|
||||||
|
|
||||||
builder.setTexture(texture);
|
//Defines how TextureAtlasSprites are obtained whilst baking
|
||||||
output[i] = builder.makeBakedModel();
|
Function<ResourceLocation, TextureAtlasSprite> textureGetter = new Function<ResourceLocation, TextureAtlasSprite>()
|
||||||
|
{
|
||||||
|
public TextureAtlasSprite apply(ResourceLocation location)
|
||||||
|
{
|
||||||
|
return texture;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
output[i] = model.bake(model.getDefaultState(), DefaultVertexFormats.ITEM, textureGetter);
|
||||||
}
|
}
|
||||||
|
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List createFaceLists()
|
|
||||||
{
|
|
||||||
List list = new ArrayList(EnumFacing.values().length);
|
|
||||||
|
|
||||||
for (int i = 0; i < EnumFacing.values().length; i++)
|
|
||||||
{
|
|
||||||
list.add(i, Lists.newLinkedList());
|
|
||||||
}
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue