mirror of
https://github.com/GTNewHorizons/ForestryMC.git
synced 2026-11-14 01:04:12 +00:00
Use EnumAddressee instead of String to identify mail carriers
This commit is contained in:
1 parent
d6c3c8093c
commit
dff81eb85c
6 files changed
+20
-29
No files matched your search
@@ -159,20 +159,13 @@ public class PostOffice extends WorldSavedData implements IPostOffice {
|
||||
|
||||
IPostalState state = EnumDeliveryState.NOT_MAILABLE;
|
||||
for (IMailAddress address : letter.getRecipients()) {
|
||||
IPostalCarrier carrier = PostManager.postRegistry.getCarrier(address.getType().toString());
|
||||
IPostalCarrier carrier = PostManager.postRegistry.getCarrier(address.getType());
|
||||
if (carrier == null)
|
||||
continue;
|
||||
state = carrier.deliverLetter(world, this, address, itemstack, doLodge);
|
||||
if (!state.isOk())
|
||||
break;
|
||||
}
|
||||
/*
|
||||
for (MailAddress address : letter.getRecipients())
|
||||
if (address.isPlayer())
|
||||
state = storeInPOBox(world, address, itemstack, doLodge);
|
||||
else if (address.getType().equals(EnumAddressee.TRADER.toString()))
|
||||
state = handleTradeLetter(world, address, itemstack, doLodge);
|
||||
*/
|
||||
|
||||
if (!state.isOk())
|
||||
return state;
|
||||
|
||||
@@ -27,6 +27,7 @@ import forestry.api.mail.IPostalCarrier;
|
||||
import forestry.api.mail.ITradeStation;
|
||||
import forestry.api.mail.PostManager;
|
||||
import forestry.api.mail.IMailAddress;
|
||||
import forestry.api.mail.EnumAddressee;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.mail.items.ItemLetter;
|
||||
import forestry.plugins.PluginMail;
|
||||
@@ -168,21 +169,21 @@ public class PostRegistry implements IPostRegistry {
|
||||
}
|
||||
|
||||
/* CARRIER */
|
||||
private final HashMap<String, IPostalCarrier> carriers = new HashMap<String, IPostalCarrier>();
|
||||
private final HashMap<EnumAddressee, IPostalCarrier> carriers = new HashMap<EnumAddressee, IPostalCarrier>();
|
||||
|
||||
@Override
|
||||
public Map<String, IPostalCarrier> getRegisteredCarriers() {
|
||||
public Map<EnumAddressee, IPostalCarrier> getRegisteredCarriers() {
|
||||
return carriers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerCarrier(IPostalCarrier carrier) {
|
||||
carriers.put(carrier.getUID(), carrier);
|
||||
carriers.put(carrier.getType(), carrier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPostalCarrier getCarrier(String uid) {
|
||||
return carriers.get(uid);
|
||||
public IPostalCarrier getCarrier(EnumAddressee type) {
|
||||
return carriers.get(type);
|
||||
}
|
||||
|
||||
/* LETTERS */
|
||||
|
||||
@@ -26,24 +26,22 @@ import forestry.plugins.PluginMail;
|
||||
|
||||
public class PostalCarrier implements IPostalCarrier {
|
||||
|
||||
private final String uid;
|
||||
private final String iconID;
|
||||
private final EnumAddressee type;
|
||||
|
||||
public PostalCarrier(EnumAddressee type) {
|
||||
uid = type.toString().toLowerCase(Locale.ENGLISH);
|
||||
iconID = "mail/carrier." + uid;
|
||||
iconID = "mail/carrier." + type;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUID() {
|
||||
return uid;
|
||||
public EnumAddressee getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return StringUtil.localize("gui.addressee." + uid);
|
||||
return StringUtil.localize("gui.addressee." + type);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,7 +44,7 @@ import forestry.mail.network.PacketLetterInfo;
|
||||
public class ContainerLetter extends ContainerItemInventory {
|
||||
|
||||
private final LetterInventory letterInventory;
|
||||
private EnumAddressee carrier = EnumAddressee.PLAYER;
|
||||
private EnumAddressee carrierType = EnumAddressee.PLAYER;
|
||||
private TradeStationInfo tradeInfo = null;
|
||||
|
||||
public ContainerLetter(EntityPlayer player, LetterInventory inventory) {
|
||||
@@ -88,7 +88,7 @@ public class ContainerLetter extends ContainerItemInventory {
|
||||
if (letterInventory.getLetter() != null)
|
||||
if (letterInventory.getLetter().getRecipients() != null)
|
||||
if (letterInventory.getLetter().getRecipients().length > 0)
|
||||
this.carrier = letterInventory.getLetter().getRecipients()[0].getType();
|
||||
this.carrierType = letterInventory.getLetter().getRecipients()[0].getType();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -115,17 +115,17 @@ public class ContainerLetter extends ContainerItemInventory {
|
||||
}
|
||||
|
||||
public void setCarrierType(EnumAddressee type) {
|
||||
this.carrier = type;
|
||||
this.carrierType = type;
|
||||
}
|
||||
|
||||
public EnumAddressee getCarrierType() {
|
||||
return this.carrier;
|
||||
return this.carrierType;
|
||||
}
|
||||
|
||||
public void advanceCarrierType() {
|
||||
Iterator<IPostalCarrier> it = PostManager.postRegistry.getRegisteredCarriers().values().iterator();
|
||||
while(it.hasNext()) {
|
||||
if(it.next().getUID().equals(carrier))
|
||||
if(it.next().getType().equals(carrierType))
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -135,8 +135,7 @@ public class ContainerLetter extends ContainerItemInventory {
|
||||
else
|
||||
postal = PostManager.postRegistry.getRegisteredCarriers().values().iterator().next();
|
||||
|
||||
EnumAddressee type = EnumAddressee.fromString(postal.getUID());
|
||||
setCarrierType(type);
|
||||
setCarrierType(postal.getType());
|
||||
}
|
||||
|
||||
public void setRecipient(String recipientName, EnumAddressee type) {
|
||||
@@ -222,7 +221,7 @@ public class ContainerLetter extends ContainerItemInventory {
|
||||
}
|
||||
|
||||
public void handleLetterInfoUpdate(PacketLetterInfo packet) {
|
||||
carrier = packet.type;
|
||||
carrierType = packet.type;
|
||||
if (packet.type == EnumAddressee.PLAYER) {
|
||||
getLetter().setRecipient(packet.address);
|
||||
} else if (packet.type == EnumAddressee.TRADER) {
|
||||
|
||||
@@ -48,7 +48,7 @@ public class GuiLetter extends GuiForestry<TileForestry> {
|
||||
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0F);
|
||||
//mc.renderEngine.bindTexture(Defaults.TEXTURE_PATH_GUI + "/letter.png");
|
||||
IPostalCarrier carrier = PostManager.postRegistry.getCarrier(container.getCarrierType().toString());
|
||||
IPostalCarrier carrier = PostManager.postRegistry.getCarrier(container.getCarrierType());
|
||||
if(carrier != null)
|
||||
drawTexturedModelRectFromIcon(startX + xPos, startY + yPos - 5, carrier.getIcon(), 26, 26);
|
||||
|
||||
|
||||
Reference in new issue
Block a user