Switched to using WorldCore
This commit is contained in:
parent
05dbbb68b6
commit
7beb926241
|
@ -20,7 +20,7 @@ public class BOPFMLLoadingPlugin implements IFMLLoadingPlugin
|
||||||
@Override
|
@Override
|
||||||
public String[] getASMTransformerClass()
|
public String[] getASMTransformerClass()
|
||||||
{
|
{
|
||||||
return new String[] {BOPBiomeColourBlending.class.getName(), BOPFogColour.class.getName(), BOPFogDistance.class.getName()};
|
return new String[] {BOPBiomeColourBlending.class.getName()};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,219 +0,0 @@
|
||||||
package biomesoplenty.asm;
|
|
||||||
|
|
||||||
import static org.objectweb.asm.Opcodes.*;
|
|
||||||
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.launchwrapper.IClassTransformer;
|
|
||||||
import net.minecraft.util.MathHelper;
|
|
||||||
import net.minecraft.util.Vec3;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
|
||||||
import net.minecraftforge.common.ForgeDummyContainer;
|
|
||||||
|
|
||||||
import org.objectweb.asm.ClassReader;
|
|
||||||
import org.objectweb.asm.ClassWriter;
|
|
||||||
import org.objectweb.asm.tree.AbstractInsnNode;
|
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
|
||||||
import org.objectweb.asm.tree.InsnList;
|
|
||||||
import org.objectweb.asm.tree.MethodInsnNode;
|
|
||||||
import org.objectweb.asm.tree.MethodNode;
|
|
||||||
import org.objectweb.asm.tree.VarInsnNode;
|
|
||||||
import org.w3c.dom.css.RGBColor;
|
|
||||||
|
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
|
|
||||||
public class BOPFogColour implements IClassTransformer
|
|
||||||
{
|
|
||||||
private static int fogX, fogZ;
|
|
||||||
|
|
||||||
private static boolean fogInit;
|
|
||||||
private static int fogRGBMultiplier;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public byte[] transform(String name, String newname, byte[] bytes)
|
|
||||||
{
|
|
||||||
if (name.equals("net.minecraft.client.renderer.EntityRenderer"))
|
|
||||||
{
|
|
||||||
return patchEntityRenderer(newname, bytes, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name.equals("bfe"))
|
|
||||||
{
|
|
||||||
return patchEntityRenderer(newname, bytes, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
return bytes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static byte[] patchEntityRenderer(String name, byte[] bytes, boolean obfuscated)
|
|
||||||
{
|
|
||||||
String targetMethodName = "";
|
|
||||||
|
|
||||||
if (obfuscated)
|
|
||||||
targetMethodName ="i";
|
|
||||||
else
|
|
||||||
targetMethodName ="updateFogColor";
|
|
||||||
|
|
||||||
ClassNode classNode = new ClassNode();
|
|
||||||
ClassReader classReader = new ClassReader(bytes);
|
|
||||||
classReader.accept(classNode, 0);
|
|
||||||
|
|
||||||
Iterator<MethodNode> methods = classNode.methods.iterator();
|
|
||||||
|
|
||||||
while (methods.hasNext())
|
|
||||||
{
|
|
||||||
MethodNode m = methods.next();
|
|
||||||
int fdiv_index = -1;
|
|
||||||
|
|
||||||
if (m.name.equals(targetMethodName) && (m.desc.equals("(F)V")))
|
|
||||||
{
|
|
||||||
AbstractInsnNode currentNode = null;
|
|
||||||
AbstractInsnNode targetNode = null;
|
|
||||||
|
|
||||||
Iterator<AbstractInsnNode> iter = m.instructions.iterator();
|
|
||||||
|
|
||||||
int index = -1;
|
|
||||||
int timesFound = 0;
|
|
||||||
|
|
||||||
while (iter.hasNext())
|
|
||||||
{
|
|
||||||
index++;
|
|
||||||
currentNode = iter.next();
|
|
||||||
|
|
||||||
if (currentNode.getOpcode() == INVOKEVIRTUAL)
|
|
||||||
{
|
|
||||||
if (timesFound == 1)
|
|
||||||
{
|
|
||||||
targetNode = currentNode;
|
|
||||||
fdiv_index = index;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
timesFound++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
mv.visitLineNumber(1658, l8);
|
|
||||||
mv.visitVarInsn(ALOAD, 3);
|
|
||||||
mv.visitVarInsn(ALOAD, 2);
|
|
||||||
mv.visitMethodInsn(INVOKESTATIC, "biomesoplenty/asm/BOPFogColour", "getFogVec", "(Lnet/minecraft/entity/Entity;Lnet/minecraft/world/World;)Lnet/minecraft/util/Vec3;");
|
|
||||||
mv.visitVarInsn(ASTORE, 9);
|
|
||||||
*/
|
|
||||||
|
|
||||||
InsnList toInject = new InsnList();
|
|
||||||
|
|
||||||
toInject.add(new VarInsnNode(ALOAD, 3));
|
|
||||||
toInject.add(new VarInsnNode(ALOAD, 2));
|
|
||||||
toInject.add(new VarInsnNode(FLOAD, 1));
|
|
||||||
if (obfuscated)
|
|
||||||
toInject.add(new MethodInsnNode(INVOKESTATIC, "biomesoplenty/asm/BOPFogColour", "getFogVec", "(Lnn;Labw;F)Latc;"));
|
|
||||||
else
|
|
||||||
toInject.add(new MethodInsnNode(INVOKESTATIC, "biomesoplenty/asm/BOPFogColour", "getFogVec", "(Lnet/minecraft/entity/Entity;Lnet/minecraft/world/World;F)Lnet/minecraft/util/Vec3;"));
|
|
||||||
toInject.add(new VarInsnNode(ASTORE, 9));
|
|
||||||
|
|
||||||
m.instructions.insert(m.instructions.get(fdiv_index + 1), toInject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
mv.visitLineNumber(1654, l8);
|
|
||||||
mv.visitVarInsn(ALOAD, 2);
|
|
||||||
mv.visitVarInsn(FLOAD, 1);
|
|
||||||
mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraft/client/multiplayer/WorldClient", "getFogColor", "(F)Lnet/minecraft/util/Vec3;");
|
|
||||||
mv.visitVarInsn(ASTORE, 9);
|
|
||||||
*/
|
|
||||||
|
|
||||||
List<AbstractInsnNode> remNodes = new ArrayList();
|
|
||||||
|
|
||||||
for (int i = -2; i <= 1; i++)
|
|
||||||
{
|
|
||||||
remNodes.add(m.instructions.get(fdiv_index + i));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (AbstractInsnNode remNode : remNodes)
|
|
||||||
{
|
|
||||||
m.instructions.remove(remNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES);
|
|
||||||
classNode.accept(writer);
|
|
||||||
return writer.toByteArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getFogBlendColour(World world, float partialRenderTick, int playerX, int playerZ)
|
|
||||||
{
|
|
||||||
if (playerX == fogX && playerZ == fogZ && fogInit)
|
|
||||||
{
|
|
||||||
return fogRGBMultiplier;
|
|
||||||
}
|
|
||||||
fogInit = true;
|
|
||||||
|
|
||||||
int distance = Minecraft.getMinecraft().gameSettings.fancyGraphics ? ForgeDummyContainer.blendRanges[Minecraft.getMinecraft().gameSettings.renderDistance] : 0;
|
|
||||||
|
|
||||||
int r = 0;
|
|
||||||
int g = 0;
|
|
||||||
int b = 0;
|
|
||||||
|
|
||||||
int wr = (int)(world.getFogColor(partialRenderTick).xCoord * 255);
|
|
||||||
int wg = (int)(world.getFogColor(partialRenderTick).yCoord * 255);
|
|
||||||
int wb = (int)(world.getFogColor(partialRenderTick).zCoord * 255);
|
|
||||||
|
|
||||||
int defaultcolour = (wr << 16) + (wg << 8) + (wb);
|
|
||||||
int divider = 0;
|
|
||||||
|
|
||||||
for (int x = -distance; x <= distance; ++x)
|
|
||||||
{
|
|
||||||
for (int z = -distance; z <= distance; ++z)
|
|
||||||
{
|
|
||||||
BiomeGenBase biome = world.getBiomeGenForCoords(playerX + x, playerZ + z);
|
|
||||||
int colour = 0;
|
|
||||||
|
|
||||||
if (biome instanceof IBOPFog)
|
|
||||||
{
|
|
||||||
colour = ((IBOPFog)biome).getFogColour();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
colour = defaultcolour;
|
|
||||||
}
|
|
||||||
|
|
||||||
r += (colour & 0xFF0000) >> 16;
|
|
||||||
g += (colour & 0x00FF00) >> 8;
|
|
||||||
b += colour & 0x0000FF;
|
|
||||||
divider++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int multiplier = (r / divider & 255) << 16 | (g / divider & 255) << 8 | b / divider & 255;
|
|
||||||
|
|
||||||
fogX = playerX;
|
|
||||||
fogZ = playerZ;
|
|
||||||
fogRGBMultiplier = multiplier;
|
|
||||||
return fogRGBMultiplier;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Vec3 getFogVec(Entity entity, World world, float partialRenderTick)
|
|
||||||
{
|
|
||||||
int x = MathHelper.floor_double(entity.posX);
|
|
||||||
int z = MathHelper.floor_double(entity.posZ);
|
|
||||||
|
|
||||||
int multiplier = getFogBlendColour(world, partialRenderTick, x, z);
|
|
||||||
|
|
||||||
float r = (float)(multiplier >> 16 & 255) / 255.0F;
|
|
||||||
float g = (float)(multiplier >> 8 & 255) / 255.0F;
|
|
||||||
float b = (float)(multiplier & 255) / 255.0F;
|
|
||||||
|
|
||||||
return world.getWorldVec3Pool().getVecFromPool(r, g, b);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,209 +0,0 @@
|
||||||
package biomesoplenty.asm;
|
|
||||||
|
|
||||||
import static org.objectweb.asm.Opcodes.*;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.launchwrapper.IClassTransformer;
|
|
||||||
import net.minecraft.util.MathHelper;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
|
||||||
import net.minecraftforge.common.ForgeDummyContainer;
|
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
|
||||||
import org.objectweb.asm.ClassReader;
|
|
||||||
import org.objectweb.asm.ClassWriter;
|
|
||||||
import org.objectweb.asm.Label;
|
|
||||||
import org.objectweb.asm.Opcodes;
|
|
||||||
import org.objectweb.asm.tree.AbstractInsnNode;
|
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
|
||||||
import org.objectweb.asm.tree.FieldInsnNode;
|
|
||||||
import org.objectweb.asm.tree.FrameNode;
|
|
||||||
import org.objectweb.asm.tree.InsnList;
|
|
||||||
import org.objectweb.asm.tree.InsnNode;
|
|
||||||
import org.objectweb.asm.tree.JumpInsnNode;
|
|
||||||
import org.objectweb.asm.tree.LabelNode;
|
|
||||||
import org.objectweb.asm.tree.LdcInsnNode;
|
|
||||||
import org.objectweb.asm.tree.LineNumberNode;
|
|
||||||
import org.objectweb.asm.tree.MethodInsnNode;
|
|
||||||
import org.objectweb.asm.tree.MethodNode;
|
|
||||||
import org.objectweb.asm.tree.VarInsnNode;
|
|
||||||
|
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
|
|
||||||
public class BOPFogDistance implements IClassTransformer
|
|
||||||
{
|
|
||||||
private static int fogX, fogZ;
|
|
||||||
|
|
||||||
private static boolean fogInit;
|
|
||||||
private static float storedFinalFogCloseness;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public byte[] transform(String name, String newname, byte[] bytes)
|
|
||||||
{
|
|
||||||
if (name.equals("net.minecraft.client.renderer.EntityRenderer"))
|
|
||||||
{
|
|
||||||
return patchEntityRenderer(newname, bytes, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name.equals("bfe"))
|
|
||||||
{
|
|
||||||
return patchEntityRenderer(newname, bytes, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
return bytes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static byte[] patchEntityRenderer(String name, byte[] bytes, boolean obfuscated)
|
|
||||||
{
|
|
||||||
String targetMethodName = "";
|
|
||||||
|
|
||||||
if (obfuscated)
|
|
||||||
targetMethodName ="a";
|
|
||||||
else
|
|
||||||
targetMethodName ="setupFog";
|
|
||||||
|
|
||||||
ClassNode classNode = new ClassNode();
|
|
||||||
ClassReader classReader = new ClassReader(bytes);
|
|
||||||
classReader.accept(classNode, 0);
|
|
||||||
|
|
||||||
Iterator<MethodNode> methods = classNode.methods.iterator();
|
|
||||||
|
|
||||||
while (methods.hasNext())
|
|
||||||
{
|
|
||||||
MethodNode m = methods.next();
|
|
||||||
int fdiv_index = -1;
|
|
||||||
|
|
||||||
if (m.name.equals(targetMethodName) && (m.desc.equals("(IF)V")))
|
|
||||||
{
|
|
||||||
AbstractInsnNode currentNode = null;
|
|
||||||
AbstractInsnNode targetNode = null;
|
|
||||||
|
|
||||||
Iterator<AbstractInsnNode> iter = m.instructions.iterator();
|
|
||||||
|
|
||||||
int index = -1;
|
|
||||||
int timesFound = 0;
|
|
||||||
|
|
||||||
while (iter.hasNext())
|
|
||||||
{
|
|
||||||
index++;
|
|
||||||
currentNode = iter.next();
|
|
||||||
|
|
||||||
if (currentNode.getOpcode() == ALOAD)
|
|
||||||
{
|
|
||||||
if (timesFound == 22)
|
|
||||||
{
|
|
||||||
targetNode = currentNode;
|
|
||||||
fdiv_index = index;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
timesFound++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
mv.visitMethodInsn(INVOKESTATIC, "org/lwjgl/opengl/GL11", "glFogf", "(IF)V");
|
|
||||||
mv.visitLabel(l71);
|
|
||||||
mv.visitLineNumber(1922, l71);
|
|
||||||
mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
|
|
||||||
mv.visitVarInsn(ALOAD, 3);
|
|
||||||
mv.visitVarInsn(FLOAD, 6);
|
|
||||||
mv.visitMethodInsn(INVOKESTATIC, "biomesoplenty/asm/BOPFogDistance", "setBiomeFogDistance", "(Lnet/minecraft/entity/Entity;F)V");
|
|
||||||
mv.visitLabel(l32);
|
|
||||||
*/
|
|
||||||
|
|
||||||
InsnList toInject = new InsnList();
|
|
||||||
|
|
||||||
toInject.add(new VarInsnNode(ALOAD, 3));
|
|
||||||
toInject.add(new VarInsnNode(ILOAD, 1));
|
|
||||||
toInject.add(new VarInsnNode(FLOAD, 6));
|
|
||||||
if (obfuscated)
|
|
||||||
toInject.add(new MethodInsnNode(INVOKESTATIC, "biomesoplenty/asm/BOPFogDistance", "setBiomeFogDistance", "(Lnn;IF)V"));
|
|
||||||
else
|
|
||||||
toInject.add(new MethodInsnNode(INVOKESTATIC, "biomesoplenty/asm/BOPFogDistance", "setBiomeFogDistance", "(Lnet/minecraft/entity/Entity;IF)V"));
|
|
||||||
|
|
||||||
m.instructions.insertBefore(m.instructions.get(fdiv_index), toInject);
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES);
|
|
||||||
classNode.accept(writer);
|
|
||||||
return writer.toByteArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setBiomeFogDistance(Entity entity, int distance, float farPlaneDistance)
|
|
||||||
{
|
|
||||||
World world = entity.worldObj;
|
|
||||||
|
|
||||||
int playerX = MathHelper.floor_double(entity.posX);
|
|
||||||
int playerZ = MathHelper.floor_double(entity.posZ);
|
|
||||||
|
|
||||||
if (playerX == fogX && playerZ == fogZ && fogInit)
|
|
||||||
{
|
|
||||||
if (distance < 0)
|
|
||||||
{
|
|
||||||
GL11.glFogf(GL11.GL_FOG_START, 0.0F);
|
|
||||||
GL11.glFogf(GL11.GL_FOG_END, farPlaneDistance * 0.8F);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GL11.glFogf(GL11.GL_FOG_START, farPlaneDistance * (storedFinalFogCloseness / 10));
|
|
||||||
GL11.glFogf(GL11.GL_FOG_END, Math.min(farPlaneDistance, 192.0F) * storedFinalFogCloseness);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
fogInit = true;
|
|
||||||
|
|
||||||
int blenddistance = Minecraft.getMinecraft().gameSettings.fancyGraphics ? ForgeDummyContainer.blendRanges[Minecraft.getMinecraft().gameSettings.renderDistance] : 0;
|
|
||||||
|
|
||||||
int divider = 0;
|
|
||||||
|
|
||||||
float fogCloseness = 0.0F;
|
|
||||||
|
|
||||||
for (int x = -blenddistance; x <= blenddistance; ++x)
|
|
||||||
{
|
|
||||||
for (int z = -blenddistance; z <= blenddistance; ++z)
|
|
||||||
{
|
|
||||||
BiomeGenBase biome = world.getBiomeGenForCoords(playerX + x, playerZ + z);
|
|
||||||
|
|
||||||
if (biome instanceof IBOPFog)
|
|
||||||
{
|
|
||||||
fogCloseness += ((IBOPFog)biome).getFogCloseness();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fogCloseness += 1.0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
divider++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
float finalFogCloseness = fogCloseness / divider;
|
|
||||||
|
|
||||||
fogX = playerX;
|
|
||||||
fogZ = playerZ;
|
|
||||||
storedFinalFogCloseness = finalFogCloseness;
|
|
||||||
|
|
||||||
if (distance < 0)
|
|
||||||
{
|
|
||||||
GL11.glFogf(GL11.GL_FOG_START, 0.0F);
|
|
||||||
GL11.glFogf(GL11.GL_FOG_END, farPlaneDistance * 0.8F);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GL11.glFogf(GL11.GL_FOG_START, farPlaneDistance * (finalFogCloseness / 10));
|
|
||||||
GL11.glFogf(GL11.GL_FOG_END, Math.min(farPlaneDistance, 192.0F) * finalFogCloseness);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -6,11 +6,11 @@ import java.util.Random;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
|
|
||||||
public class BiomeGenCrag extends BiomeGenBase implements IBOPFog
|
public class BiomeGenCrag extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -11,12 +11,12 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.WorldGenDeadlands;
|
import biomesoplenty.worldgen.WorldGenDeadlands;
|
||||||
|
|
||||||
public class BiomeGenDeadlands extends BiomeGenBase implements IBOPFog
|
public class BiomeGenDeadlands extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private WorldGenerator theWorldGenerator;
|
private WorldGenerator theWorldGenerator;
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
|
@ -10,13 +10,13 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.WorldGenMoss;
|
import biomesoplenty.worldgen.WorldGenMoss;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenSequoia;
|
import biomesoplenty.worldgen.tree.WorldGenSequoia;
|
||||||
|
|
||||||
public class BiomeGenFungiForest extends BiomeGenBase implements IBOPFog
|
public class BiomeGenFungiForest extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -9,15 +9,15 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMain;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMain;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.realtree.WorldGenRealMagic;
|
import biomesoplenty.worldgen.realtree.WorldGenRealMagic;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenMystic1;
|
import biomesoplenty.worldgen.tree.WorldGenMystic1;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenMystic2;
|
import biomesoplenty.worldgen.tree.WorldGenMystic2;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenSwampTall;
|
import biomesoplenty.worldgen.tree.WorldGenSwampTall;
|
||||||
|
|
||||||
public class BiomeGenMysticGrove extends BiomeGenBase implements IBOPFog
|
public class BiomeGenMysticGrove extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -11,12 +11,12 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.tree.WorldGenOminous1;
|
import biomesoplenty.worldgen.tree.WorldGenOminous1;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenOminous2;
|
import biomesoplenty.worldgen.tree.WorldGenOminous2;
|
||||||
|
|
||||||
public class BiomeGenOminousWoods extends BiomeGenBase implements IBOPFog
|
public class BiomeGenOminousWoods extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -11,14 +11,14 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.tree.WorldGenOminous1;
|
import biomesoplenty.worldgen.tree.WorldGenOminous1;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenOminous3;
|
import biomesoplenty.worldgen.tree.WorldGenOminous3;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenOminous4;
|
import biomesoplenty.worldgen.tree.WorldGenOminous4;
|
||||||
|
|
||||||
public class BiomeGenOminousWoodsThick extends BiomeGenBase implements IBOPFog
|
public class BiomeGenOminousWoodsThick extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,13 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenShrub;
|
import net.minecraft.world.gen.feature.WorldGenShrub;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.entities.EntityJungleSpider;
|
import biomesoplenty.entities.EntityJungleSpider;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.tree.WorldGenMassiveTree;
|
import biomesoplenty.worldgen.tree.WorldGenMassiveTree;
|
||||||
|
|
||||||
public class BiomeGenSacredSprings extends BiomeGenBase implements IBOPFog
|
public class BiomeGenSacredSprings extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.tree.WorldGenAutumn;
|
import biomesoplenty.worldgen.tree.WorldGenAutumn;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenAutumn2;
|
import biomesoplenty.worldgen.tree.WorldGenAutumn2;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenAutumn2Big;
|
import biomesoplenty.worldgen.tree.WorldGenAutumn2Big;
|
||||||
|
@ -18,7 +18,7 @@ import biomesoplenty.worldgen.tree.WorldGenDeadTree2;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenMaple;
|
import biomesoplenty.worldgen.tree.WorldGenMaple;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenMapleBig;
|
import biomesoplenty.worldgen.tree.WorldGenMapleBig;
|
||||||
|
|
||||||
public class BiomeGenSeasonalForest extends BiomeGenBase implements IBOPFog
|
public class BiomeGenSeasonalForest extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.tree.WorldGenAutumn;
|
import biomesoplenty.worldgen.tree.WorldGenAutumn;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenAutumn2;
|
import biomesoplenty.worldgen.tree.WorldGenAutumn2;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenDeadTree2;
|
import biomesoplenty.worldgen.tree.WorldGenDeadTree2;
|
||||||
|
@ -18,7 +18,7 @@ import biomesoplenty.worldgen.tree.WorldGenMaple;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenTaiga10;
|
import biomesoplenty.worldgen.tree.WorldGenTaiga10;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenTaiga5;
|
import biomesoplenty.worldgen.tree.WorldGenTaiga5;
|
||||||
|
|
||||||
public class BiomeGenSeasonalSpruceForest extends BiomeGenBase implements IBOPFog
|
public class BiomeGenSeasonalSpruceForest extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -10,13 +10,13 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTrees;
|
import net.minecraft.world.gen.feature.WorldGenTrees;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.entities.EntityJungleSpider;
|
import biomesoplenty.entities.EntityJungleSpider;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.tree.WorldGenRainforest1;
|
import biomesoplenty.worldgen.tree.WorldGenRainforest1;
|
||||||
|
|
||||||
public class BiomeGenTropicalRainforest extends BiomeGenBase implements IBOPFog
|
public class BiomeGenTropicalRainforest extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -9,14 +9,14 @@ import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.biome.SpawnListEntry;
|
import net.minecraft.world.biome.SpawnListEntry;
|
||||||
import net.minecraft.world.gen.feature.WorldGenShrub;
|
import net.minecraft.world.gen.feature.WorldGenShrub;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.entities.EntityJungleSpider;
|
import biomesoplenty.entities.EntityJungleSpider;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.WorldGenTropicsShrub;
|
import biomesoplenty.worldgen.WorldGenTropicsShrub;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenPalmTree1;
|
import biomesoplenty.worldgen.tree.WorldGenPalmTree1;
|
||||||
|
|
||||||
public class BiomeGenTropics extends BiomeGenBase implements IBOPFog
|
public class BiomeGenTropics extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -5,14 +5,14 @@ import java.util.Random;
|
||||||
|
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
import biomesoplenty.worldgen.WorldGenWasteland;
|
import biomesoplenty.worldgen.WorldGenWasteland;
|
||||||
import biomesoplenty.worldgen.WorldGenWasteland2;
|
import biomesoplenty.worldgen.WorldGenWasteland2;
|
||||||
import biomesoplenty.worldgen.tree.WorldGenDeadTree3;
|
import biomesoplenty.worldgen.tree.WorldGenDeadTree3;
|
||||||
|
|
||||||
public class BiomeGenWasteland extends BiomeGenBase implements IBOPFog
|
public class BiomeGenWasteland extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,12 @@ import net.minecraft.block.Block;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.gen.feature.WorldGenDesertWells;
|
import net.minecraft.world.gen.feature.WorldGenDesertWells;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.biomes.BiomeDecoratorBOP;
|
import biomesoplenty.biomes.BiomeDecoratorBOP;
|
||||||
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
import biomesoplenty.configuration.configfile.BOPConfigurationMisc;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
|
|
||||||
public class BiomeGenDesertNew extends BiomeGenBase implements IBOPFog
|
public class BiomeGenDesertNew extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -14,12 +14,12 @@ import net.minecraft.world.gen.feature.WorldGenTallGrass;
|
||||||
import net.minecraft.world.gen.feature.WorldGenTrees;
|
import net.minecraft.world.gen.feature.WorldGenTrees;
|
||||||
import net.minecraft.world.gen.feature.WorldGenVines;
|
import net.minecraft.world.gen.feature.WorldGenVines;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import worldcore.interfaces.IWCFog;
|
||||||
import biomesoplenty.api.Blocks;
|
import biomesoplenty.api.Blocks;
|
||||||
import biomesoplenty.biomes.BiomeDecoratorBOP;
|
import biomesoplenty.biomes.BiomeDecoratorBOP;
|
||||||
import biomesoplenty.entities.EntityJungleSpider;
|
import biomesoplenty.entities.EntityJungleSpider;
|
||||||
import biomesoplenty.interfaces.IBOPFog;
|
|
||||||
|
|
||||||
public class BiomeGenJungleNew extends BiomeGenBase implements IBOPFog
|
public class BiomeGenJungleNew extends BiomeGenBase implements IWCFog
|
||||||
{
|
{
|
||||||
private BiomeDecoratorBOP customBiomeDecorator;
|
private BiomeDecoratorBOP customBiomeDecorator;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
package biomesoplenty.interfaces;
|
|
||||||
|
|
||||||
public interface IBOPFog
|
|
||||||
{
|
|
||||||
public int getFogColour();
|
|
||||||
|
|
||||||
public float getFogCloseness();
|
|
||||||
}
|
|
Loading…
Reference in New Issue