55 lines
2.4 KiB
Java
55 lines
2.4 KiB
Java
package net.halfheart.ventricleengine;
|
|
import org.json.*;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.InputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.util.Objects;
|
|
import java.util.stream.Collectors;
|
|
|
|
public class WeaponsHandler {
|
|
private static Weapon constructWeapon(String weaponName) {
|
|
String filename = "/weapons.json";
|
|
try (InputStream inputStream = WeaponsHandler.class.getResourceAsStream(filename)) {
|
|
String jsonText = new BufferedReader(
|
|
new InputStreamReader(Objects.requireNonNull(inputStream), StandardCharsets.UTF_8))
|
|
.lines()
|
|
.collect(Collectors.joining("\n"));
|
|
|
|
JSONArray jsonArray = new JSONArray(jsonText);
|
|
|
|
JSONObject wantedItem = null;
|
|
for (int i = 0; i < jsonArray.length(); i++) {
|
|
JSONObject item = jsonArray.getJSONObject(i);
|
|
if (item.opt("name").toString().equals(weaponName)) {
|
|
wantedItem = item;
|
|
}
|
|
}
|
|
assert wantedItem != null;
|
|
String name = wantedItem.opt("name").toString();
|
|
if (name.equals("Fists")) {
|
|
switch ()
|
|
}
|
|
String description = wantedItem.opt("desc").toString();
|
|
String dmgType = wantedItem.opt("type").toString();
|
|
String ammoType = wantedItem.opt("ammo").toString();
|
|
short damage = (short) wantedItem.opt("dmg");
|
|
short cost = (short) wantedItem.opt("cost");
|
|
byte weight = (byte) wantedItem.opt("weight");
|
|
return new Weapon(name, description, dmgType, ammoType, damage, cost, weight);
|
|
} catch (Exception ignored) {
|
|
|
|
}
|
|
return null;
|
|
}
|
|
public static Weapon FISTS = constructWeapon("Fists");
|
|
public static Weapon COMBATKNIFE = constructWeapon("Combat Knife");
|
|
public static Weapon RIPPER = constructWeapon("Ripper");
|
|
public static Weapon CHAINSAW = constructWeapon("Chainsaw");
|
|
public static Weapon BASEBALLBAT = constructWeapon("Baseball Bat");
|
|
public static Weapon POWERFIST = constructWeapon("Power Fist");
|
|
public static Weapon SUPERSLEDGE = constructWeapon("Super Sledge");
|
|
public static Weapon PISTOL10MM = constructWeapon("10mm Pistol");
|
|
public static Weapon HUNTINGRIFLE = constructWeapon("Hunting Rifle");
|
|
}
|