Skip to content

Commit

Permalink
Take all the shortbow and arrow stuff out of the Tools module, and tr…
Browse files Browse the repository at this point in the history
…y to keep backwards compatibility >_>
  • Loading branch information
bonii-xx committed Oct 5, 2014
1 parent bdbda63 commit e7666e0
Show file tree
Hide file tree
Showing 17 changed files with 143 additions and 240 deletions.
1 change: 1 addition & 0 deletions src/main/java/tconstruct/TConstruct.java
Expand Up @@ -145,6 +145,7 @@ public void preInit (FMLPreInitializationEvent event)
TConstructRegistry.partTab = new TConstructCreativeTab("TConstructParts");
TConstructRegistry.blockTab = new TConstructCreativeTab("TConstructBlocks");
TConstructRegistry.equipableTab = new TConstructCreativeTab("TConstructEquipables");
TConstructRegistry.weaponryTab = new TConstructCreativeTab("TConstructWeaponry");

tableCasting = new LiquidCasting();
basinCasting = new LiquidCasting();
Expand Down
7 changes: 3 additions & 4 deletions src/main/java/tconstruct/items/tools/Arrow.java
Expand Up @@ -10,10 +10,9 @@
import net.minecraft.world.World;
import tconstruct.library.TConstructRegistry;
import tconstruct.library.crafting.ToolBuilder;
import tconstruct.library.tools.BowstringMaterial;
import tconstruct.library.tools.FletchingMaterial;
import tconstruct.library.tools.ToolCore;
import tconstruct.tools.TinkerTools;
import tconstruct.weaponry.TinkerWeaponry;

public class Arrow extends ToolCore
{
Expand Down Expand Up @@ -81,13 +80,13 @@ public void registerAlternatePartPaths (int index, String[] location)
@Override
public Item getHeadItem ()
{
return TinkerTools.arrowhead;
return TinkerWeaponry.arrowhead;
}

@Override
public Item getAccessoryItem ()
{
return TinkerTools.fletching;
return TinkerWeaponry.fletching;
}

@Override
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/tconstruct/items/tools/Shortbow.java
Expand Up @@ -12,6 +12,7 @@
import tconstruct.library.TConstructRegistry;
import tconstruct.library.tools.BowstringMaterial;
import tconstruct.tools.TinkerTools;
import tconstruct.weaponry.TinkerWeaponry;

public class Shortbow extends BowBase
{
Expand Down Expand Up @@ -71,7 +72,7 @@ public Item getHeadItem ()
@Override
public Item getHandleItem ()
{
return TinkerTools.bowstring;
return TinkerWeaponry.bowstring;
}

@Override
Expand Down
16 changes: 14 additions & 2 deletions src/main/java/tconstruct/library/TConstructRegistry.java
Expand Up @@ -372,12 +372,18 @@ public static ToolMaterial getMaterial (String key)
// Bow materials
public static HashMap<Integer, BowMaterial> bowMaterials = new HashMap<Integer, BowMaterial>(40);

@Deprecated
public static void addBowMaterial (int materialID, int durability, int drawSpeed, float speedMax)
{
addBowMaterial(materialID, drawSpeed, speedMax);
}

public static void addBowMaterial (int materialID, int drawSpeed, float speedMax)
{
BowMaterial mat = bowMaterials.get(materialID);
if (mat == null)
{
mat = new BowMaterial(durability, drawSpeed, speedMax);
mat = new BowMaterial(drawSpeed, speedMax);
bowMaterials.put(materialID, mat);
}
else
Expand All @@ -396,12 +402,18 @@ public static BowMaterial getBowMaterial (int materialID)

public static HashMap<Integer, ArrowMaterial> arrowMaterials = new HashMap<Integer, ArrowMaterial>(40);

@Deprecated
public static void addArrowMaterial (int materialID, float mass, float breakChance, float accuracy)
{
addArrowMaterial(materialID, mass, breakChance, 0);
}

public static void addArrowMaterial (int materialID, float mass, float breakChance)
{
ArrowMaterial mat = arrowMaterials.get(materialID);
if (mat == null)
{
mat = new ArrowMaterial(mass, breakChance, accuracy);
mat = new ArrowMaterial(mass, breakChance);
arrowMaterials.put(materialID, mat);
}
else
Expand Down
10 changes: 7 additions & 3 deletions src/main/java/tconstruct/library/tools/ArrowMaterial.java
Expand Up @@ -4,12 +4,16 @@ public class ArrowMaterial
{
public final float mass;
public final float breakChance;
public final float accuracy;

public ArrowMaterial(float weight, float breakChance, float accuracy)
public ArrowMaterial(float weight, float breakChance)
{
this.mass = weight;
this.breakChance = breakChance;
this.accuracy = accuracy;
}

@Deprecated
public ArrowMaterial(float weight, float breakChance, float accuraccy)
{
this(weight, breakChance);
}
}
10 changes: 7 additions & 3 deletions src/main/java/tconstruct/library/tools/BowMaterial.java
Expand Up @@ -2,14 +2,18 @@

public class BowMaterial
{
public final int durability;
public final int drawspeed;
public final float flightSpeedMax;

public BowMaterial(int durability, int drawspeed, float attack)
public BowMaterial(int drawspeed, float attack)
{
this.durability = durability;
this.drawspeed = drawspeed;
this.flightSpeedMax = attack;
}

@Deprecated
public BowMaterial(int durability, int drawspeed, float attack)
{
this(drawspeed, attack);
}
}
51 changes: 0 additions & 51 deletions src/main/java/tconstruct/tools/TinkerToolEvents.java
Expand Up @@ -84,57 +84,6 @@ public void craftTool (ToolCraftEvent.NormalTool event)
handlePaper(toolTag, event.tool);
handleThaumium(toolTag, event.tool);

if (event.tool == TinkerTools.shortbow)
{
BowMaterial top = TConstructRegistry.getBowMaterial(toolTag.getInteger("Head"));
BowMaterial bottom = TConstructRegistry.getBowMaterial(toolTag.getInteger("Accessory"));
BowstringMaterial string = (BowstringMaterial) TConstructRegistry.getCustomMaterial(toolTag.getInteger("Handle"), BowstringMaterial.class);

if (top != null && bottom != null && string != null)
{
if (toolTag.getInteger("Handle") == 1)
{
int modifiers = toolTag.getInteger("Modifiers");
modifiers += 1;
toolTag.setInteger("Modifiers", modifiers);
}

int durability = (int) ((top.durability + bottom.durability) / 2 * string.durabilityModifier);
toolTag.setInteger("TotalDurability", durability);
toolTag.setInteger("BaseDurability", durability);

int drawSpeed = (int) ((top.drawspeed + bottom.drawspeed) / 2 * string.drawspeedModifier);
toolTag.setInteger("DrawSpeed", drawSpeed);
toolTag.setInteger("BaseDrawSpeed", drawSpeed);

float flightSpeed = (top.flightSpeedMax + bottom.flightSpeedMax) / 2f * string.flightSpeedModifier;
toolTag.setFloat("FlightSpeed", flightSpeed);
}
}

if (event.tool == TinkerTools.arrow)
{
ArrowMaterial head = TConstructRegistry.getArrowMaterial(toolTag.getInteger("Head"));
ArrowMaterial shaft = TConstructRegistry.getArrowMaterial(toolTag.getInteger("Handle"));
FletchingMaterial fletching = (FletchingMaterial) TConstructRegistry.getCustomMaterial(toolTag.getInteger("Accessory"), FletchingMaterial.class);

if (head != null && shaft != null && fletching != null)
{
float mass = head.mass / 5f + shaft.mass + fletching.mass;
float shatter = (head.breakChance + shaft.breakChance + fletching.breakChance) / 4f;
float accuracy = (head.accuracy + shaft.accuracy + fletching.accuracy) / 3;

ItemStack arrow = new ItemStack(event.tool, 4);
toolTag.setInteger("TotalDurability", 0);
toolTag.setFloat("Mass", mass);
toolTag.setFloat("BreakChance", shatter);
toolTag.setFloat("Accuracy", accuracy);
toolTag.setInteger("Unbreaking", 10);
arrow.setTagCompound(event.toolTag);
event.overrideResult(arrow);
}
}

if (event.tool == TinkerTools.battlesign)
{
int modifiers = toolTag.getInteger("Modifiers");
Expand Down

0 comments on commit e7666e0

Please sign in to comment.