crashes probally because i have load of mods could somebody tell me which one makes it crash since i cant tell that in crash report. and i tried the "ah shoot it doesnt work" thingy to , didnt work
---- Minecraft Crash Report ----
// Don't do that.
Time: 13.07.13 19:52
Description: Failed to start game
java.lang.IllegalArgumentException: Slot 490 is already occupied by SimpleOres.code.blocks.BlockSimpleOre@471b9b19 when adding net.minecraft.mypeople.BlockHumanEgg@22bac2b
The error explains it very clearly, look at the lines I've highlighted. You have an ID conflict with the Simple Ores mod. You'll need to either change the Human Egg from My People to another value, or change the Simple Ore Block from 490 to something else.
Anyway, I've been working on adding to the genetics part of this mod. So basically, you can get the DNA from any living entity. Then, you use a machine called a DNA splicer, which splices 1-6 samples of DNA into one 'capsule', which at this point is un-incubated. Then, there is a machine called the 'DNA Cloner', where you put in an un-incubated capsule, with some blood, lava and water, power it with coal, and then it 'clones' then unincubated dna sample thingi into an empty capsule.
Then you get those un-incubated capusles, and you place them into a incubator, which then eventually 'incubates' the capsule, ready for deployment.
I've been playing around with the new splicing/incubating mechanics, and I love it... Just a few things I want to point out you probably already know about seeing as it is in beta phase.
The DNA Splicer DNA Cloner and Incubator blocks have no 'damage' values on them whatsoever. I can just punch them once with my fist and it'll be completely destroyed (much like if I were in creative mode)... which also means I cannot pick them up and move them somewhere else.
Also the DNA Cloner has no texture, just a big white cube with no texture found on it.
I also can't seem to figure it out. I put empty capsules on the 12 slots on the left... then a capsule of blood on the top middle, with coal in the bottom middle. Then there are the 3 slot to the right. In the first I put a vial of blood, then buckets of water which seem to fill the inner tank, and the 3rd I assumed went lava buckets, but they are not being accepted. Anything I'm missing with this?
Like I said, just a few minor notes I love what you're doing with the mod, and look forward to seeing what else you have planned. Not sure if you already have planned this or not, or if would be even feasible... but non-vanilla mob support would be awesome. I'd love to try to clone Mo Creatures Ostriches or Grimoire or Gaia Minotaurs lol. (Nevermind this comment... I played around a little in my test world and was able to clone ostrich, elephants and other Mo Creatures mobs. I'm figuring it is only certain mobs that can't be cloned, or only certain mods that don't cooperate. I tried to clone a GoG Dryad and it didn't work.
Speaking of other mod support... is there a way to see the meta data values in NEI for all the needles/capsules available? It would make it easier to see which mobs are clonable and which ones are not
Showing a little gratitude and understanding towards those who work so hard at making mods for us, free of charge, can go a long way. Remember your pleases and thank yous.
Without restriction does that mean we can put it in modpacks?
Modpacks would be covered under the "Redistribution" section, not the "Use" section.
Rollback Post to RevisionRollBack
Showing a little gratitude and understanding towards those who work so hard at making mods for us, free of charge, can go a long way. Remember your pleases and thank yous.
I don't know if this is a bug or not, but ever since I built that DNA separator machine I have been getting animal dna from every vanilla animal I kill, with no needle or any other item from the mod in my inventory. Also, it would help if the dna were stackable, but More Stackables can fix that I think.
Showing a little gratitude and understanding towards those who work so hard at making mods for us, free of charge, can go a long way. Remember your pleases and thank yous.
I did forge and everything I was supposed to for version 1.5.2 and I try to load the game on my 1.5.2 profile and it crashes.
Ok, but 98% of the time that Minecraft crashes, it gives a huge detailed error report... what's it saying?
Copy and past it in here in a spoiler, it'll help to troubleshoot better.
Rollback Post to RevisionRollBack
Showing a little gratitude and understanding towards those who work so hard at making mods for us, free of charge, can go a long way. Remember your pleases and thank yous.
Ok, but 98% of the time that Minecraft crashes, it gives a huge detailed error report... what's it saying?
Copy and past it in here in a spoiler, it'll help to troubleshoot better.
Unfortunately, I deleted my 1.5.2 after it didn't work. Fortunately, after trying again I didn't get a crash(weird). Unfortunately, neither forge nor My People showed up when I went into the new 1.5.2 I created. I followed the instructions at the beginning of this post, getting the right forge and doing everything it told me to, but when I went to start minecraft, no forge showed up and no My People mod was displayed. I'm not sure whether this is just me being a noob with modding on the new launcher or what.
Okay
I am getting there. I've set up most of the base work for actually creating mobs. And am now about to work on actually spawning the entities.
Now you craft a needle, and stab an entity, like you used to. However now, when you stab another mob, is mixed the blood together. So if you stab yourself, a chicken and then a pig, you get blood with is predominately pig, slightly chicken, and fairly little human.
THen you put it in a test tube, spin it in the centrifuge, extract the DNA from the seperated blood. And then you have a needle of contaminated whatever dna.
That's where I'm up to. It doesn't seem like much, but it's more work than it seems, ie, this is the class which handles the mixing of entities:
package jamezo97.clonecraft.item;
import jamezo97.clonecraft.CloneCraft;
import jamezo97.clonecraft.Logger;
import jamezo97.clonecraft.entity.EntityClone;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityEggInfo;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
public class DNA {
public DNA(){
}
public DNA(ItemStack stack){
if(stack != null && stack.getTagCompound() != null){
loadFrom(stack.getTagCompound());
}
if(stack.getTagCompound() == null){
save(stack);
}
}
public DNA(NBTTagCompound nbtCompound){
loadFrom(nbtCompound);
}
public void save(ItemStack stack){
if(stack != null){
stack.setTagCompound(save());
}
}
public NBTTagCompound save(){
return saveTo(new NBTTagCompound());
}
public void loadFrom(NBTTagCompound nbt){
currentEntity = nbt.getInteger("currentEntity");
int[] previousArray = nbt.getIntArray("previous");
for(int a = 0; a < previousArray.length; a++){
previous.add(previousArray[a]);
}
}
public NBTTagCompound saveTo(NBTTagCompound nbt){
if(currentEntity < 1 && previous.size() == 0){
return null;
}
nbt.setInteger("currentEntity", currentEntity);
nbt.setIntArray("previous", toIntArray(previous));
return nbt;
}
private int[] toIntArray(ArrayList<Integer> list){
int[] array = new int[list.size()];
for(int a = 0; a < list.size(); a++){
array[a] = list.get(a);
}
return array;
}
int currentEntity = -1;
ArrayList<Integer> previous = new ArrayList<Integer>();
public boolean addEntity(Entity e){
return addEntity(getEntityID(e));
}
public int getEntityID(Entity e){
if(e instanceof EntityPlayer || e instanceof EntityClone){
return CloneCraft.cloneId;
}
return EntityList.getEntityID(e);
}
int maxPreviousSize = 6;
public boolean addEntity(int entityID){
if(entityID > 0){
if(currentEntity != entityID){
if(currentEntity > 0){
if(previous.size() >= maxPreviousSize){
previous.remove(0);
}
previous.add(currentEntity);
}
currentEntity = entityID;
return true;
}
}
return false;
}
public void clear(){
currentEntity = -1;
previous.clear();
}
public void drain(){
if(currentEntity > 0){
boolean allCurrent = false;
if(previous.size() > 0){
allCurrent = true;
for(int a = 0; a < previous.size(); a++){
if(previous.get(a) != currentEntity){
allCurrent = false;
break;
}
}
}
if(!allCurrent){
if(previous.size() >= maxPreviousSize){
previous.remove(0);
}
previous.add(currentEntity);
}
}
currentEntity = -1;
}
public String getCurrentEntityName(){
return getEntityName(currentEntity);
}
public String getEntityName(int id){
if(id == CloneCraft.cloneId){
return "Human";
}
return EntityList.getStringFromID(id);
}
public boolean isContaminated(){
if(previous.size() == 0){
return false;
}
if(!isFull()){
return true;
}
Integer[] ids = getAllIds();
for(int a = 0; a < ids.length; a++){
int one = a;
int two = a+1;
if(two >= ids.length){
two = 0;
}
if(ids[one].intValue() != ids[two].intValue()){
return true;
}
}
return false;
}
public Integer[] getAllIds(){
ArrayList<Integer> ids = (ArrayList<Integer>)previous.clone();
if(isFull()){
ids.add(currentEntity);
}
return ids.toArray(new Integer[ids.size()]);
}
public boolean isFull(){
return currentEntity > 0;
}
/**
* Get's the display name, to... display, for this DNA/blood mixture.
* @param itemName The name of the item, IE, test tube
* @param containing The stuff inside is, i.e., blood, DNA etc
* @return
*/
public String getDisplayName(String itemName, String containing){
boolean isFull = isFull();
boolean contaminated = isContaminated();
if(isFull && getCurrentEntityName() != null){
String currentEntity = getCurrentEntityName();
return (contaminated?"Contaminated ":"") + currentEntity + " " + containing;
}else{
return (contaminated?"Contaminated ":"") + "Empty " + itemName;
}
}
public String getMixedEntityName(){
if(isFull()){
return (isContaminated()?"Mutated ":"") + getEntityName(currentEntity);
}
return "Umm";
}
public int getColour(){
ArrayList<Integer> ids = (ArrayList<Integer>)previous.clone();
if(isFull()){
ids.add(currentEntity);
}
int[] arrIds = new int[ids.size()];
float[] arrStrength = new float[ids.size()];
float lastStrength = 1.0f;
for(int a = ids.size()-1; a > -1; a--){
int id = (ids.size()-1) - a;
arrIds[id] = getColour(ids.get(a));
arrStrength[id] = lastStrength;
lastStrength /= 3;
}
return addColours(arrIds, arrStrength);
}
/**
* Gets an array representing the percentage correspondence between the different blood types in the DNA object.
* @return
*/
public IdToPercent[] getIdToPercentArray(){
Integer[] allIds = getAllIds();
HashMap<Integer, Float> idToPercent = new HashMap<Integer, Float>();
float totalPercentage = 0.0f;
{
float percent = 1.0f;
for(int a = allIds.length-1; a > -1; a--){
int id = allIds[a];
totalPercentage += percent;
if(idToPercent.containsKey(id)){
idToPercent.put(id, idToPercent.get(id) + percent);
}else{
idToPercent.put(id, percent);
}
percent /= 3.0;
}
}
IdToPercent[] array = new IdToPercent[idToPercent.size()];
int index = 0;
while(!idToPercent.isEmpty()){
int idMax = -1;
float max = -1;
Iterator<Entry<Integer, Float>> it = idToPercent.entrySet().iterator();
while(it.hasNext()){
Entry<Integer, Float> entry = it.next();
if(entry.getValue() > max){
max = entry.getValue();
idMax = entry.getKey();
}
}
if(idMax == -1){
Logger.instance.showLineOccured();
Logger.instance.error("Infinite while loop about to start right here. That could have been fatal!");
break;
}
idToPercent.remove(idMax);
float percent = (Math.round((max / totalPercentage)*10000.0f)/100.0f);
array[index++] = new IdToPercent(idMax, percent);
}
return array;
}
public void addInfo(List list) {
IdToPercent[] array = getIdToPercentArray();
for(int a = 0; a < (array.length>4?4:array.length); a++){
list.add("\2477" + getEntityName(array[a].id) + " \247f: \2475" + array[a].percent + "%");
}
/* list.add(previous.toString());
list.add(currentEntity + "");*/
}
public int getColour(int entityID){
if(entityID == CloneCraft.cloneId){
return bloodColour;
}
if(EntityList.entityEggs.containsKey(entityID)){
return ((EntityEggInfo)EntityList.entityEggs.get(entityID)).primaryColor;
}
return 0xffffffff;
}
public static int addColours(int[] colours, float[] percentages){
float size = 0;
double allRed = 0;
double allGreen = 0;
double allBlue = 0;
for(int a = 0; a < colours.length; a++){
size += percentages[a];
allRed += ((double)((colours[a] >> 16) & 0xff)) * percentages[a];
allGreen += ((double)((colours[a] >> 8) & 0xff)) * percentages[a];
allBlue += ((double)((colours[a]) & 0xff)) * percentages[a];
}
int red = 0, green = 0, blue = 0;
if(size > 0){
red = (int)Math.round(allRed / size);
green = (int)Math.round(allGreen / size);
blue = (int)Math.round(allBlue / size);
}
if(red < 1)red = 0;
if(green < 1)green = 0;
if(blue < 1)blue = 0;
if(red > 255)red = 255;
if(green > 255)green = 255;
if(blue > 255)blue = 255;
return (red << 16) | (green << 8) | (blue);
}
/***
* Fills this DNA object with the other. Kinda like mixing the two together.
* @param dna
*/
public void fillWith(DNA nData){
this.currentEntity = nData.currentEntity;
for(int a = 0; a < nData.previous.size(); a++){
if(previous.size() > maxPreviousSize){
previous.remove(0);
}
previous.add(nData.previous.get(a));
}
}
static int bloodColour = 0xff851212;
public class IdToPercent{
int id;
float percent;
public IdToPercent(int id, float percent){
this.id = id;
this.percent = percent;
}
}
}
Fun stuff.
So now, I'm up to making some semi-legit method of creating a clone from the DNA.
Any ideas?
I want to be able to put the resultant entity into an item which you can then throw, or spawn straight on the ground. Just how to make it kind of legitimate? I'm currently thinking of a recipe, or a block, which involves putting the DNA into an egg. Maybe you also have to remove the inside of the egg. IE, put the egg with a needle in the crafting table, and it gives you an empty eggshell or something. Which you then fill with the DNA, and OH soul sand? I'm just throwing around ideas at the moment. But that'd be cool, so the soul sand gives the DNA life, in the empty egg thingi. And then you throw it, and it spawn the entity.
That was probably messy writing, so tl;dr
1) Extract the guts of an egg, to give you an empty egg shell/ embryo thing
2) Inject DNA with soulsand (extracted soulsand? soulds from soulsand? or just soulsand?) into the empty egg shell thingi
3) Deploy the created entity.
sounds cool. Anyway, is it possible to make it so the clone of you won't break the block it's standing on? The little guy was helping me break trees, then broke the block under him and hurt himself.
EDIT: more ideas! A limit to how much you want to collect of something ( so you could put, say, 64 wood and then he would stop at a full stack) and a mining option so he would use a method instead of just breaking whatever block he chooses. I took him mining and he created a pit that I had to get out of.
EDIT 2: Make it so he stays away from lava! Please!
Do you get any errors? I'm still on 1.5.2 and have 188 mods installed and My People is one of them... everything's working perfectly
I have a lot of mods too and am wondering if there is something else causing what I'm seeing. Do vanilla creatures drop dna when you kill them too? I don't have a needle equipped or anything. It doesn't matter what I have equipped.
How do I get vanilla creatures to stop dropping dna when I kill them?
I have a lot of mods too and am wondering if there is something else causing what I'm seeing. Do vanilla creatures drop dna when you kill them too? I don't have a needle equipped or anything. It doesn't matter what I have equipped.
Sounds like you have an Item ID conflict. From what I've gathered about this mod, DNA should only be able to be able to be gotten through a process. First collecting the blood by "hitting" a mob with an empty syringe, then putting that into an empty vial. Seperating the blood, and filling an empty syringe with the resulting DNA.
Granted, your problem may be something else; but my first thought would be an Item ID conflict.
hi cool mod and it works i been collecting dna's and storing them on my chest. it will be a cool add to the mod like a stand were you can put the diferrent capsule like in the jurrasic park movie were the fat dude uses hes chave can to store the dna
Okay
I am getting there. I've set up most of the base work for actually creating mobs. And am now about to work on actually spawning the entities.
Now you craft a needle, and stab an entity, like you used to. However now, when you stab another mob, is mixed the blood together. So if you stab yourself, a chicken and then a pig, you get blood with is predominately pig, slightly chicken, and fairly little human.
THen you put it in a test tube, spin it in the centrifuge, extract the DNA from the seperated blood. And then you have a needle of contaminated whatever dna.
That's where I'm up to. It doesn't seem like much, but it's more work than it seems, ie, this is the class which handles the mixing of entities:
package jamezo97.clonecraft.item;
import jamezo97.clonecraft.CloneCraft;
import jamezo97.clonecraft.Logger;
import jamezo97.clonecraft.entity.EntityClone;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityEggInfo;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
public class DNA {
public DNA(){
}
public DNA(ItemStack stack){
if(stack != null && stack.getTagCompound() != null){
loadFrom(stack.getTagCompound());
}
if(stack.getTagCompound() == null){
save(stack);
}
}
public DNA(NBTTagCompound nbtCompound){
loadFrom(nbtCompound);
}
public void save(ItemStack stack){
if(stack != null){
stack.setTagCompound(save());
}
}
public NBTTagCompound save(){
return saveTo(new NBTTagCompound());
}
public void loadFrom(NBTTagCompound nbt){
currentEntity = nbt.getInteger("currentEntity");
int[] previousArray = nbt.getIntArray("previous");
for(int a = 0; a < previousArray.length; a++){
previous.add(previousArray[a]);
}
}
public NBTTagCompound saveTo(NBTTagCompound nbt){
if(currentEntity < 1 && previous.size() == 0){
return null;
}
nbt.setInteger("currentEntity", currentEntity);
nbt.setIntArray("previous", toIntArray(previous));
return nbt;
}
private int[] toIntArray(ArrayList<Integer> list){
int[] array = new int[list.size()];
for(int a = 0; a < list.size(); a++){
array[a] = list.get(a);
}
return array;
}
int currentEntity = -1;
ArrayList<Integer> previous = new ArrayList<Integer>();
public boolean addEntity(Entity e){
return addEntity(getEntityID(e));
}
public int getEntityID(Entity e){
if(e instanceof EntityPlayer || e instanceof EntityClone){
return CloneCraft.cloneId;
}
return EntityList.getEntityID(e);
}
int maxPreviousSize = 6;
public boolean addEntity(int entityID){
if(entityID > 0){
if(currentEntity != entityID){
if(currentEntity > 0){
if(previous.size() >= maxPreviousSize){
previous.remove(0);
}
previous.add(currentEntity);
}
currentEntity = entityID;
return true;
}
}
return false;
}
public void clear(){
currentEntity = -1;
previous.clear();
}
public void drain(){
if(currentEntity > 0){
boolean allCurrent = false;
if(previous.size() > 0){
allCurrent = true;
for(int a = 0; a < previous.size(); a++){
if(previous.get(a) != currentEntity){
allCurrent = false;
break;
}
}
}
if(!allCurrent){
if(previous.size() >= maxPreviousSize){
previous.remove(0);
}
previous.add(currentEntity);
}
}
currentEntity = -1;
}
public String getCurrentEntityName(){
return getEntityName(currentEntity);
}
public String getEntityName(int id){
if(id == CloneCraft.cloneId){
return "Human";
}
return EntityList.getStringFromID(id);
}
public boolean isContaminated(){
if(previous.size() == 0){
return false;
}
if(!isFull()){
return true;
}
Integer[] ids = getAllIds();
for(int a = 0; a < ids.length; a++){
int one = a;
int two = a+1;
if(two >= ids.length){
two = 0;
}
if(ids[one].intValue() != ids[two].intValue()){
return true;
}
}
return false;
}
public Integer[] getAllIds(){
ArrayList<Integer> ids = (ArrayList<Integer>)previous.clone();
if(isFull()){
ids.add(currentEntity);
}
return ids.toArray(new Integer[ids.size()]);
}
public boolean isFull(){
return currentEntity > 0;
}
/**
* Get's the display name, to... display, for this DNA/blood mixture.
* @param itemName The name of the item, IE, test tube
* @param containing The stuff inside is, i.e., blood, DNA etc
* @return
*/
public String getDisplayName(String itemName, String containing){
boolean isFull = isFull();
boolean contaminated = isContaminated();
if(isFull && getCurrentEntityName() != null){
String currentEntity = getCurrentEntityName();
return (contaminated?"Contaminated ":"") + currentEntity + " " + containing;
}else{
return (contaminated?"Contaminated ":"") + "Empty " + itemName;
}
}
public String getMixedEntityName(){
if(isFull()){
return (isContaminated()?"Mutated ":"") + getEntityName(currentEntity);
}
return "Umm";
}
public int getColour(){
ArrayList<Integer> ids = (ArrayList<Integer>)previous.clone();
if(isFull()){
ids.add(currentEntity);
}
int[] arrIds = new int[ids.size()];
float[] arrStrength = new float[ids.size()];
float lastStrength = 1.0f;
for(int a = ids.size()-1; a > -1; a--){
int id = (ids.size()-1) - a;
arrIds[id] = getColour(ids.get(a));
arrStrength[id] = lastStrength;
lastStrength /= 3;
}
return addColours(arrIds, arrStrength);
}
/**
* Gets an array representing the percentage correspondence between the different blood types in the DNA object.
* @return
*/
public IdToPercent[] getIdToPercentArray(){
Integer[] allIds = getAllIds();
HashMap<Integer, Float> idToPercent = new HashMap<Integer, Float>();
float totalPercentage = 0.0f;
{
float percent = 1.0f;
for(int a = allIds.length-1; a > -1; a--){
int id = allIds[a];
totalPercentage += percent;
if(idToPercent.containsKey(id)){
idToPercent.put(id, idToPercent.get(id) + percent);
}else{
idToPercent.put(id, percent);
}
percent /= 3.0;
}
}
IdToPercent[] array = new IdToPercent[idToPercent.size()];
int index = 0;
while(!idToPercent.isEmpty()){
int idMax = -1;
float max = -1;
Iterator<Entry<Integer, Float>> it = idToPercent.entrySet().iterator();
while(it.hasNext()){
Entry<Integer, Float> entry = it.next();
if(entry.getValue() > max){
max = entry.getValue();
idMax = entry.getKey();
}
}
if(idMax == -1){
Logger.instance.showLineOccured();
Logger.instance.error("Infinite while loop about to start right here. That could have been fatal!");
break;
}
idToPercent.remove(idMax);
float percent = (Math.round((max / totalPercentage)*10000.0f)/100.0f);
array[index++] = new IdToPercent(idMax, percent);
}
return array;
}
public void addInfo(List list) {
IdToPercent[] array = getIdToPercentArray();
for(int a = 0; a < (array.length>4?4:array.length); a++){
list.add("\2477" + getEntityName(array[a].id) + " \247f: \2475" + array[a].percent + "%");
}
/* list.add(previous.toString());
list.add(currentEntity + "");*/
}
public int getColour(int entityID){
if(entityID == CloneCraft.cloneId){
return bloodColour;
}
if(EntityList.entityEggs.containsKey(entityID)){
return ((EntityEggInfo)EntityList.entityEggs.get(entityID)).primaryColor;
}
return 0xffffffff;
}
public static int addColours(int[] colours, float[] percentages){
float size = 0;
double allRed = 0;
double allGreen = 0;
double allBlue = 0;
for(int a = 0; a < colours.length; a++){
size += percentages[a];
allRed += ((double)((colours[a] >> 16) & 0xff)) * percentages[a];
allGreen += ((double)((colours[a] >> 8) & 0xff)) * percentages[a];
allBlue += ((double)((colours[a]) & 0xff)) * percentages[a];
}
int red = 0, green = 0, blue = 0;
if(size > 0){
red = (int)Math.round(allRed / size);
green = (int)Math.round(allGreen / size);
blue = (int)Math.round(allBlue / size);
}
if(red < 1)red = 0;
if(green < 1)green = 0;
if(blue < 1)blue = 0;
if(red > 255)red = 255;
if(green > 255)green = 255;
if(blue > 255)blue = 255;
return (red << 16) | (green << 8) | (blue);
}
/***
* Fills this DNA object with the other. Kinda like mixing the two together.
* @param dna
*/
public void fillWith(DNA nData){
this.currentEntity = nData.currentEntity;
for(int a = 0; a < nData.previous.size(); a++){
if(previous.size() > maxPreviousSize){
previous.remove(0);
}
previous.add(nData.previous.get(a));
}
}
static int bloodColour = 0xff851212;
public class IdToPercent{
int id;
float percent;
public IdToPercent(int id, float percent){
this.id = id;
this.percent = percent;
}
}
}
Fun stuff.
So now, I'm up to making some semi-legit method of creating a clone from the DNA.
Any ideas?
I want to be able to put the resultant entity into an item which you can then throw, or spawn straight on the ground. Just how to make it kind of legitimate? I'm currently thinking of a recipe, or a block, which involves putting the DNA into an egg. Maybe you also have to remove the inside of the egg. IE, put the egg with a needle in the crafting table, and it gives you an empty eggshell or something. Which you then fill with the DNA, and OH soul sand? I'm just throwing around ideas at the moment. But that'd be cool, so the soul sand gives the DNA life, in the empty egg thingi. And then you throw it, and it spawn the entity.
That was probably messy writing, so tl;dr
1) Extract the guts of an egg, to give you an empty egg shell/ embryo thing
2) Inject DNA with soulsand (extracted soulsand? soulds from soulsand? or just soulsand?) into the empty egg shell thingi
3) Deploy the created entity.
How does that sound?
I like that idea. Sounds more realistic. When you get the chance, try to make a config, and a list of configurable recipes from certain mods. E.g. IC2
Thanks! I've had to shell out big $$ to recover my PC from a bad virus recently, so I'm extra cautious these days...
You forgot to say please.
The error explains it very clearly, look at the lines I've highlighted. You have an ID conflict with the Simple Ores mod. You'll need to either change the Human Egg from My People to another value, or change the Simple Ore Block from 490 to something else.
I've been playing around with the new splicing/incubating mechanics, and I love it... Just a few things I want to point out you probably already know about seeing as it is in beta phase.
The DNA Splicer DNA Cloner and Incubator blocks have no 'damage' values on them whatsoever. I can just punch them once with my fist and it'll be completely destroyed (much like if I were in creative mode)... which also means I cannot pick them up and move them somewhere else.
Also the DNA Cloner has no texture, just a big white cube with no texture found on it.
I also can't seem to figure it out. I put empty capsules on the 12 slots on the left... then a capsule of blood on the top middle, with coal in the bottom middle. Then there are the 3 slot to the right. In the first I put a vial of blood, then buckets of water which seem to fill the inner tank, and the 3rd I assumed went lava buckets, but they are not being accepted. Anything I'm missing with this?
Like I said, just a few minor notes I love what you're doing with the mod, and look forward to seeing what else you have planned.
Not sure if you already have planned this or not, or if would be even feasible... but non-vanilla mob support would be awesome. I'd love to try to clone Mo Creatures Ostriches or Grimoire or Gaia Minotaurs lol.(Nevermind this comment... I played around a little in my test world and was able to clone ostrich, elephants and other Mo Creatures mobs. I'm figuring it is only certain mobs that can't be cloned, or only certain mods that don't cooperate. I tried to clone a GoG Dryad and it didn't work.Speaking of other mod support... is there a way to see the meta data values in NEI for all the needles/capsules available? It would make it easier to see which mobs are clonable and which ones are not
Thanks again
Zombie Defence
Join the fight for survival!
Link: http://www.minecraftforum.net/topic/1882509-zombie-defence-map/#entry23256876
Modpacks would be covered under the "Redistribution" section, not the "Use" section.
Shameless bump. Post got buried with no replies.
Do you get any errors? I'm still on 1.5.2 and have 188 mods installed and My People is one of them... everything's working perfectly
I did forge and everything I was supposed to for version 1.5.2 and I try to load the game on my 1.5.2 profile and it crashes.
Ok, but 98% of the time that Minecraft crashes, it gives a huge detailed error report... what's it saying?
Copy and past it in here in a spoiler, it'll help to troubleshoot better.
Unfortunately, I deleted my 1.5.2 after it didn't work. Fortunately, after trying again I didn't get a crash(weird). Unfortunately, neither forge nor My People showed up when I went into the new 1.5.2 I created. I followed the instructions at the beginning of this post, getting the right forge and doing everything it told me to, but when I went to start minecraft, no forge showed up and no My People mod was displayed. I'm not sure whether this is just me being a noob with modding on the new launcher or what.
I am getting there. I've set up most of the base work for actually creating mobs. And am now about to work on actually spawning the entities.
Now you craft a needle, and stab an entity, like you used to. However now, when you stab another mob, is mixed the blood together. So if you stab yourself, a chicken and then a pig, you get blood with is predominately pig, slightly chicken, and fairly little human.
THen you put it in a test tube, spin it in the centrifuge, extract the DNA from the seperated blood. And then you have a needle of contaminated whatever dna.
That's where I'm up to. It doesn't seem like much, but it's more work than it seems, ie, this is the class which handles the mixing of entities:
So now, I'm up to making some semi-legit method of creating a clone from the DNA.
Any ideas?
I want to be able to put the resultant entity into an item which you can then throw, or spawn straight on the ground. Just how to make it kind of legitimate? I'm currently thinking of a recipe, or a block, which involves putting the DNA into an egg. Maybe you also have to remove the inside of the egg. IE, put the egg with a needle in the crafting table, and it gives you an empty eggshell or something. Which you then fill with the DNA, and OH soul sand? I'm just throwing around ideas at the moment. But that'd be cool, so the soul sand gives the DNA life, in the empty egg thingi. And then you throw it, and it spawn the entity.
That was probably messy writing, so tl;dr
1) Extract the guts of an egg, to give you an empty egg shell/ embryo thing
2) Inject DNA with soulsand (extracted soulsand? soulds from soulsand? or just soulsand?) into the empty egg shell thingi
3) Deploy the created entity.
How does that sound?
Yo
EDIT: more ideas! A limit to how much you want to collect of something ( so you could put, say, 64 wood and then he would stop at a full stack) and a mining option so he would use a method instead of just breaking whatever block he chooses. I took him mining and he created a pit that I had to get out of.
EDIT 2: Make it so he stays away from lava! Please!
I have a lot of mods too and am wondering if there is something else causing what I'm seeing. Do vanilla creatures drop dna when you kill them too? I don't have a needle equipped or anything. It doesn't matter what I have equipped.
Sounds like you have an Item ID conflict. From what I've gathered about this mod, DNA should only be able to be able to be gotten through a process. First collecting the blood by "hitting" a mob with an empty syringe, then putting that into an empty vial. Seperating the blood, and filling an empty syringe with the resulting DNA.
Granted, your problem may be something else; but my first thought would be an Item ID conflict.
1. Patience is needed.
2. Why not just play 1.5.2?
I like that idea. Sounds more realistic. When you get the chance, try to make a config, and a list of configurable recipes from certain mods. E.g. IC2