Update libac version

Update libz version
This commit is contained in:
Aria 2023-05-06 03:41:51 -07:00
parent 857d8eaf4a
commit bddc923eca
6 changed files with 98 additions and 4 deletions

View file

@ -5,8 +5,8 @@ org.gradle.daemon=false
mc_version=1.19.4 mc_version=1.19.4
forge_version=45.0.46 forge_version=45.0.46
myversion=1.0.7.0422230620 myversion=1.0.7.0506230341
# parchment_version=2023.03.12 # parchment_version=2023.03.12
# luckperms_api_version=5.4 # luckperms_api_version=5.4
libac=1.1.3 libac=1.1.5

View file

@ -1,7 +1,10 @@
package dev.zontreck.libzontreck.currency; package dev.zontreck.libzontreck.currency;
import dev.zontreck.ariaslib.events.EventBus; import dev.zontreck.ariaslib.events.EventBus;
import dev.zontreck.libzontreck.chat.ChatColor;
import dev.zontreck.libzontreck.currency.events.TransactionHistoryFlushEvent; import dev.zontreck.libzontreck.currency.events.TransactionHistoryFlushEvent;
import dev.zontreck.libzontreck.profiles.Profile;
import dev.zontreck.libzontreck.profiles.UserProfileNotYetExistsException;
import net.minecraft.core.UUIDUtil; import net.minecraft.core.UUIDUtil;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag; import net.minecraft.nbt.ListTag;
@ -18,6 +21,9 @@ public class Account
public List<Transaction> history; public List<Transaction> history;
public int balance; public int balance;
public String accountName = "";
public boolean isPlayer=true;
public AccountReference getRef() public AccountReference getRef()
{ {
return new AccountReference(player_id); return new AccountReference(player_id);
@ -28,6 +34,20 @@ public class Account
player_id=ID; player_id=ID;
history=new ArrayList<>(); history=new ArrayList<>();
balance=0; balance=0;
if(isValidPlayer()) {
try {
Profile prof = Profile.get_profile_of(ID.toString());
accountName = prof.name_color + prof.nickname;
isPlayer=true;
} catch (UserProfileNotYetExistsException e) {
accountName = ChatColor.doColors("!Dark_Red!SYSTEM!White!");
isPlayer=false;
}
} else {
accountName = ChatColor.doColors("!Dark_Red!SYSTEM!White!");
isPlayer=false;
}
} }
public CompoundTag save() public CompoundTag save()
@ -42,6 +62,8 @@ public class Account
} }
tag.put("history", txs); tag.put("history", txs);
tag.putString("name", accountName);
tag.putBoolean("player", isPlayer);
return tag; return tag;
} }
@ -50,6 +72,8 @@ public class Account
{ {
player_id = NbtUtils.loadUUID(tag.get("id")); player_id = NbtUtils.loadUUID(tag.get("id"));
balance = tag.getInt("balance"); balance = tag.getInt("balance");
accountName = tag.getString("name");
isPlayer = tag.getBoolean("player");
history=new ArrayList<>(); history=new ArrayList<>();
ListTag lst = tag.getList("history", Tag.TAG_COMPOUND); ListTag lst = tag.getList("history", Tag.TAG_COMPOUND);
for(Tag t : lst){ for(Tag t : lst){
@ -80,6 +104,6 @@ public class Account
*/ */
public boolean isValidPlayer() public boolean isValidPlayer()
{ {
return !player_id.equals(new UUID(0,0)); return isPlayer;
} }
} }

View file

@ -139,7 +139,7 @@ public class Bank
* @param tx The transaction being attempted * @param tx The transaction being attempted
* @return True if the transaction has been accepted. False if the transaction was rejected, or insufficient funds. * @return True if the transaction has been accepted. False if the transaction was rejected, or insufficient funds.
*/ */
public static boolean postTx(Transaction tx) throws InvalidSideException { protected static boolean postTx(Transaction tx) throws InvalidSideException {
if(ServerUtilities.isClient())return false; if(ServerUtilities.isClient())return false;
TransactionEvent ev = new TransactionEvent(tx); TransactionEvent ev = new TransactionEvent(tx);
if(EventBus.BUS.post(ev)) if(EventBus.BUS.post(ev))

View file

@ -1,5 +1,6 @@
package dev.zontreck.libzontreck.currency; package dev.zontreck.libzontreck.currency;
import dev.zontreck.libzontreck.exceptions.InvalidSideException;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtUtils; import net.minecraft.nbt.NbtUtils;
@ -39,4 +40,16 @@ public class Transaction
this.amount=amount; this.amount=amount;
timestamp = ts; timestamp = ts;
} }
/**
* Submits the transaction to the bank to be processed
* @return True if the transaction was successfully submitted.
*/
public boolean submit(){
try {
return Bank.postTx(this);
} catch (InvalidSideException e) {
return false;
}
}
} }

View file

@ -1,6 +1,8 @@
package dev.zontreck.libzontreck.util; package dev.zontreck.libzontreck.util;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Random; import java.util.Random;
public class BinUtil { public class BinUtil {
@ -21,6 +23,32 @@ public class BinUtil {
return new String(hexChars); return new String(hexChars);
} }
public static byte[] hexToBytes(String hexStr)
{
List<Byte> bList = new ArrayList<>();
for(int i=0;i<hexStr.length();i+=2)
{
bList.add((byte)(
(Character.digit(hexStr.charAt(i), 16)<<4) +
(Character.digit(hexStr.charAt(i+1), 16))
));
}
return byteArray(bList);
}
public static byte[] byteArray(List<Byte> b)
{
byte[] ret = new byte[b.size()];
int i=0;
for(byte bx : b)
{
ret[i] = bx;
i++;
}
return ret;
}
/** /**
* @return A random instance backed by the time including milliseconds as the seed. * @return A random instance backed by the time including milliseconds as the seed.
*/ */

View file

@ -1,5 +1,7 @@
package dev.zontreck.libzontreck.util; package dev.zontreck.libzontreck.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID; import java.util.UUID;
import dev.zontreck.libzontreck.LibZontreck; import dev.zontreck.libzontreck.LibZontreck;
@ -74,6 +76,33 @@ public class ChatHelpers {
broadcastTo(ID.getUUID(), message, server, true); broadcastTo(ID.getUUID(), message, server, true);
} }
public static String hashOfMd5(String input) throws NoSuchAlgorithmException {
MessageDigest md5 = MessageDigest.getInstance("md5");
md5.update(input.getBytes());
return asHex(md5.digest());
}
public static String hashOfSha256(String input) throws NoSuchAlgorithmException {
MessageDigest md5 = MessageDigest.getInstance("sha-256");
md5.update(input.getBytes());
return asHex(md5.digest());
}
public static String hashOfMd5(byte[] input) throws NoSuchAlgorithmException {
MessageDigest md5 = MessageDigest.getInstance("md5");
md5.update(input);
return asHex(md5.digest());
}
public static String hashOfSha256(byte[] input) throws NoSuchAlgorithmException {
MessageDigest md5 = MessageDigest.getInstance("sha-256");
md5.update(input);
return asHex(md5.digest());
}
public static String asHex(byte[] input)
{
return BinUtil.bytesToHex(input);
}
/** /**
* Returns the output with colors applied, and chat entries replaced using [number] as the format * Returns the output with colors applied, and chat entries replaced using [number] as the format
* @param input * @param input