-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed some trait propagation issues
- Loading branch information
Showing
20 changed files
with
790 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
classname=org.gotti.wurmunlimited.mods.creaturemod.CreatureMod | ||
classpath=creaturemod.jar | ||
serverPacks=creaturepack.jar |
Git LFS file not shown
This file was deleted.
Oops, something went wrong.
40 changes: 40 additions & 0 deletions
40
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/CreatureMod.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod; | ||
|
||
import org.gotti.wurmunlimited.modloader.interfaces.Initable; | ||
import org.gotti.wurmunlimited.modloader.interfaces.WurmMod; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Bull; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Calf; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Cat; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Chicken; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Cow; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Dog; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Foal; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Hen; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Horse; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Ocelot; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.PandaBear; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Pig; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Rooster; | ||
import org.gotti.wurmunlimited.mods.creaturemod.creatures.Zebra; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModCreatures; | ||
|
||
public class CreatureMod implements WurmMod, Initable { | ||
public void init() { | ||
ModCreatures.init(); | ||
ModCreatures.addCreature((ModCreature) new PandaBear()); | ||
ModCreatures.addCreature((ModCreature) new Zebra()); | ||
ModCreatures.addCreature((ModCreature) new Ocelot()); | ||
ModCreatures.addCreature((ModCreature) new Cat()); | ||
ModCreatures.addCreature((ModCreature) new Horse()); | ||
ModCreatures.addCreature((ModCreature) new Chicken()); | ||
ModCreatures.addCreature((ModCreature) new Rooster()); | ||
ModCreatures.addCreature((ModCreature) new Hen()); | ||
ModCreatures.addCreature((ModCreature) new Pig()); | ||
ModCreatures.addCreature((ModCreature) new Cow()); | ||
ModCreatures.addCreature((ModCreature) new Dog()); | ||
ModCreatures.addCreature((ModCreature) new Calf()); | ||
ModCreatures.addCreature((ModCreature) new Bull()); | ||
ModCreatures.addCreature((ModCreature) new Foal()); | ||
} | ||
} |
22 changes: 22 additions & 0 deletions
22
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Bull.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
|
||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
|
||
public class Bull extends Cow { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.BULL_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.BULL_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
} |
22 changes: 22 additions & 0 deletions
22
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Calf.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
|
||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
|
||
public class Calf extends Cow { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.CALF_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.CALF_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
} |
50 changes: 50 additions & 0 deletions
50
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Cat.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModTraits; | ||
import org.gotti.wurmunlimited.modsupport.creatures.TraitsSetter; | ||
|
||
import com.wurmonline.server.Server; | ||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
|
||
public class Cat implements ModCreature { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.CAT_WILD_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.CAT_WILD_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
|
||
public boolean hasTraits() { | ||
return true; | ||
} | ||
|
||
public String getTraitName(final int trait) { | ||
switch (trait) { | ||
case 24: | ||
return "mainecoon"; | ||
default: | ||
return null; | ||
} | ||
} | ||
|
||
public void assignTraits(final TraitsSetter traitsSetter) { | ||
if (Server.rand.nextInt(3) == 0) { | ||
traitsSetter.setTraitBit(24, true); | ||
} | ||
} | ||
|
||
@Override | ||
public long calcNewTraits(double breederSkill, boolean inbred, long mothertraits, long fathertraits) { | ||
return ModTraits.calcNewTraits(breederSkill, inbred, mothertraits, fathertraits, ModTraits.REGULAR_TRAITS, 1 << 24); | ||
} | ||
} |
58 changes: 58 additions & 0 deletions
58
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Chicken.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import com.wurmonline.server.Server; | ||
import org.gotti.wurmunlimited.modsupport.creatures.TraitsSetter; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModTraits; | ||
|
||
public class Chicken implements ModCreature { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.CHICKEN_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.CHICKEN_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
|
||
public boolean hasTraits() { | ||
return true; | ||
} | ||
|
||
public String getTraitName(final int trait) { | ||
switch (trait) { | ||
case 24: | ||
return "australorp"; | ||
case 25: | ||
return "rhodeislandred"; | ||
case 26: | ||
return "silvercampine"; | ||
default: | ||
return null; | ||
} | ||
} | ||
|
||
public void assignTraits(final TraitsSetter traitsSetter) { | ||
if (Server.rand.nextInt(4) == 0) { | ||
traitsSetter.setTraitBit(24, true); | ||
} else if (Server.rand.nextInt(4) == 0) { | ||
traitsSetter.setTraitBit(25, true); | ||
} else if (Server.rand.nextInt(4) == 0) { | ||
traitsSetter.setTraitBit(26, true); | ||
} | ||
} | ||
|
||
@Override | ||
public long calcNewTraits(double breederSkill, boolean inbred, long mothertraits, long fathertraits) { | ||
return ModTraits.calcNewTraits(breederSkill, inbred, mothertraits, fathertraits, ModTraits.REGULAR_TRAITS, 1 << 24 | 1 << 25 | 1 << 26); | ||
} | ||
|
||
} |
54 changes: 54 additions & 0 deletions
54
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Cow.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import com.wurmonline.server.Server; | ||
import org.gotti.wurmunlimited.modsupport.creatures.TraitsSetter; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModTraits; | ||
|
||
public class Cow implements ModCreature { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.COW_BROWN_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.COW_BROWN_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
|
||
public boolean hasTraits() { | ||
return true; | ||
} | ||
|
||
public String getTraitName(final int trait) { | ||
switch (trait) { | ||
case 24: | ||
return "blackangus"; | ||
case 25: | ||
return "beltedgalloway"; | ||
default: | ||
return null; | ||
} | ||
} | ||
|
||
public void assignTraits(final TraitsSetter traitsSetter) { | ||
if (Server.rand.nextInt(3) == 0) { | ||
traitsSetter.setTraitBit(24, true); | ||
} else if (Server.rand.nextInt(3) == 0) { | ||
traitsSetter.setTraitBit(25, true); | ||
} | ||
} | ||
|
||
@Override | ||
public long calcNewTraits(double breederSkill, boolean inbred, long mothertraits, long fathertraits) { | ||
return ModTraits.calcNewTraits(breederSkill, inbred, mothertraits, fathertraits, ModTraits.REGULAR_TRAITS, 1 << 24 | 1 << 25); | ||
} | ||
|
||
} |
56 changes: 56 additions & 0 deletions
56
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Dog.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import com.wurmonline.server.Server; | ||
import org.gotti.wurmunlimited.modsupport.creatures.TraitsSetter; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature; | ||
import org.gotti.wurmunlimited.modsupport.creatures.ModTraits; | ||
|
||
public class Dog implements ModCreature { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.DOG_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.DOG_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
|
||
public boolean hasTraits() { | ||
return true; | ||
} | ||
|
||
public String getTraitName(final int trait) { | ||
switch (trait) { | ||
case 24: { | ||
return "dalmatian"; | ||
} | ||
case 25: { | ||
return "husky"; | ||
} | ||
default: { | ||
return null; | ||
} | ||
} | ||
} | ||
|
||
public void assignTraits(final TraitsSetter traitsSetter) { | ||
if (Server.rand.nextInt(3) == 0) { | ||
traitsSetter.setTraitBit(24, true); | ||
} else if (Server.rand.nextInt(3) == 0) { | ||
traitsSetter.setTraitBit(25, true); | ||
} | ||
} | ||
|
||
@Override | ||
public long calcNewTraits(double breederSkill, boolean inbred, long mothertraits, long fathertraits) { | ||
return ModTraits.calcNewTraits(breederSkill, inbred, mothertraits, fathertraits, ModTraits.REGULAR_TRAITS, 1 << 24 | 1 << 25); | ||
} | ||
} |
22 changes: 22 additions & 0 deletions
22
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Foal.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
|
||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
|
||
public class Foal extends Horse { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.FOAL_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.FOAL_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
} |
22 changes: 22 additions & 0 deletions
22
src/main/java/org/gotti/wurmunlimited/mods/creaturemod/creatures/Hen.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package org.gotti.wurmunlimited.mods.creaturemod.creatures; | ||
|
||
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder; | ||
|
||
import com.wurmonline.server.creatures.CreatureTemplate; | ||
import com.wurmonline.server.creatures.CreatureTemplateFactory; | ||
import com.wurmonline.server.creatures.CreatureTemplateIds; | ||
import com.wurmonline.server.creatures.NoSuchCreatureTemplateException; | ||
|
||
public class Hen extends Chicken { | ||
public CreatureTemplateBuilder createCreateTemplateBuilder() { | ||
return new CreatureTemplateBuilder(CreatureTemplateIds.HEN_CID) { | ||
public CreatureTemplate build() { | ||
try { | ||
return CreatureTemplateFactory.getInstance().getTemplate(CreatureTemplateIds.HEN_CID); | ||
} catch (NoSuchCreatureTemplateException e) { | ||
throw new RuntimeException((Throwable) e); | ||
} | ||
} | ||
}; | ||
} | ||
} |
Oops, something went wrong.