Finish it up

This commit is contained in:
Raoul Van den Berge
2016-08-01 01:12:38 +02:00
parent 1f05d9570f
commit 6979c476ef
14 changed files with 55 additions and 32 deletions

View File

@@ -1,5 +1,9 @@
# Refined Storage Changelog
### 0.8.14
**Features**
- Added Interdimensional Upgrade so the Network Transmitter can work over different dimensions
### 0.8.13
**Bugfixes**
- Fixed rendering crash with Disk Drive

View File

@@ -83,7 +83,7 @@ public final class RefinedStorage {
public int speedUpgradeUsage;
public int craftingUpgradeUsage;
public int stackUpgradeUsage;
public int interdimensionUpgradeUsage;
public int interdimensionalUpgradeUsage;
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
@@ -127,7 +127,7 @@ public final class RefinedStorage {
speedUpgradeUsage = config.getInt("speed", "upgrades", 2, 0, Integer.MAX_VALUE, "The additional energy used per Speed Upgrade");
craftingUpgradeUsage = config.getInt("crafting", "upgrades", 5, 0, Integer.MAX_VALUE, "The additional energy used per Crafting Upgrade");
stackUpgradeUsage = config.getInt("stack", "upgrades", 12, 0, Integer.MAX_VALUE, "The additional energy used per Stack Upgrade");
interdimensionUpgradeUsage = config.getInt("interdimension", "upgrades", 1000, 0, Integer.MAX_VALUE, "The energy used by the Interdimension Upgrade");
interdimensionalUpgradeUsage = config.getInt("interdimensional", "upgrades", 1000, 0, Integer.MAX_VALUE, "The additional energy used by the Interdimensional Upgrade");
config.save();
}

View File

@@ -72,7 +72,7 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
final TileNetworkTransmitter transmitter = (TileNetworkTransmitter) tile;
if (transmitter.canTransmit()) {
if (!transmitter.isInSameDimension()) {
if (!transmitter.isSameDimension()) {
NetworkNodeGraph dimensionGraph = new NetworkNodeGraph(controller) {
@Override
public World getWorld() {

View File

@@ -35,8 +35,10 @@ public class GuiNetworkTransmitter extends GuiBase {
String distance;
if (!networkTransmitter.isInSameDimension()) {
distance = t("gui.refinedstorage:network_transmitter.different_dimension");
if (!networkTransmitter.isDimensionSupported()) {
distance = t("gui.refinedstorage:network_transmitter.missing_upgrade");
} else if (!networkTransmitter.isSameDimension()) {
distance = t("gui.refinedstorage:network_transmitter.dimension", networkTransmitter.getReceiverDimension());
} else if (networkTransmitter.getDistance() == -1) {
distance = t("gui.refinedstorage:network_transmitter.missing_card");
} else {

View File

@@ -14,7 +14,7 @@ public class ItemUpgrade extends ItemBase {
public static final int TYPE_SPEED = 2;
public static final int TYPE_CRAFTING = 3;
public static final int TYPE_STACK = 4;
public static final int TYPE_INTERDIMENSION = 5;
public static final int TYPE_INTERDIMENSIONAL = 5;
public ItemUpgrade() {
super("upgrade");
@@ -41,8 +41,8 @@ public class ItemUpgrade extends ItemBase {
return RefinedStorage.INSTANCE.craftingUpgradeUsage;
case TYPE_STACK:
return RefinedStorage.INSTANCE.stackUpgradeUsage;
case TYPE_INTERDIMENSION:
return RefinedStorage.INSTANCE.interdimensionUpgradeUsage;
case TYPE_INTERDIMENSIONAL:
return RefinedStorage.INSTANCE.interdimensionalUpgradeUsage;
default:
return 0;
}
@@ -56,7 +56,7 @@ public class ItemUpgrade extends ItemBase {
return new ItemStack(Items.SUGAR);
case ItemUpgrade.TYPE_CRAFTING:
return new ItemStack(Blocks.CRAFTING_TABLE);
case ItemUpgrade.TYPE_INTERDIMENSION:
case ItemUpgrade.TYPE_INTERDIMENSIONAL:
return new ItemStack(Items.NETHER_STAR);
default:
return null;

View File

@@ -62,7 +62,7 @@ public class ClientProxy extends CommonProxy {
new ResourceLocation("refinedstorage:range_upgrade"),
new ResourceLocation("refinedstorage:speed_upgrade"),
new ResourceLocation("refinedstorage:stack_upgrade"),
new ResourceLocation("refinedstorage:interdimension_upgrade")
new ResourceLocation("refinedstorage:interdimensional_upgrade")
);
// Items
@@ -103,7 +103,7 @@ public class ClientProxy extends CommonProxy {
ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED, new ModelResourceLocation("refinedstorage:speed_upgrade", "inventory"));
ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_CRAFTING, new ModelResourceLocation("refinedstorage:crafting_upgrade", "inventory"));
ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK, new ModelResourceLocation("refinedstorage:stack_upgrade", "inventory"));
ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_INTERDIMENSION, new ModelResourceLocation("refinedstorage:interdimension_upgrade", "inventory"));
ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_INTERDIMENSIONAL, new ModelResourceLocation("refinedstorage:interdimensional_upgrade", "inventory"));
// Blocks
ModelLoader.setCustomStateMapper(RefinedStorageBlocks.GRID, (new StateMap.Builder())

View File

@@ -438,7 +438,7 @@ public class CommonProxy {
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_RANGE));
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_SPEED));
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_CRAFTING));
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_INTERDIMENSION));
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_INTERDIMENSIONAL));
GameRegistry.addShapedRecipe(new ItemStack(RefinedStorageItems.UPGRADE, 1, ItemUpgrade.TYPE_STACK),
"USU",

View File

@@ -15,7 +15,17 @@ import refinedstorage.item.ItemNetworkCard;
import refinedstorage.item.ItemUpgrade;
public class TileNetworkTransmitter extends TileNode {
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(1, this, ItemUpgrade.TYPE_INTERDIMENSION);
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(1, this, ItemUpgrade.TYPE_INTERDIMENSIONAL) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
if (network != null) {
network.getNodeGraph().rebuild(network.getPosition());
}
}
};
private ItemHandlerBasic networkCard = new ItemHandlerBasic(1, this, new ItemValidatorBasic(RefinedStorageItems.NETWORK_CARD)) {
@Override
protected void onContentsChanged(int slot) {
@@ -41,7 +51,7 @@ public class TileNetworkTransmitter extends TileNode {
// Used clientside
private int distance;
private boolean inSameDimension;
private boolean dimensionSupported;
public TileNetworkTransmitter() {
rebuildOnUpdateChange = true;
@@ -52,7 +62,7 @@ public class TileNetworkTransmitter extends TileNode {
}
public boolean canTransmit() {
return canUpdate() && receiver != null;
return canUpdate() && receiver != null && isDimensionSupported();
}
@Override
@@ -77,8 +87,9 @@ public class TileNetworkTransmitter extends TileNode {
public void writeContainerData(ByteBuf buf) {
super.writeContainerData(buf);
buf.writeInt((receiver != null && isInSameDimension()) ? getDistance() : -1);
buf.writeBoolean(isInSameDimension());
buf.writeInt((receiver != null && isSameDimension()) ? getDistance() : -1);
buf.writeInt(receiverDimension);
buf.writeBoolean(isDimensionSupported());
}
@Override
@@ -86,12 +97,13 @@ public class TileNetworkTransmitter extends TileNode {
super.readContainerData(buf);
distance = buf.readInt();
inSameDimension = buf.readBoolean();
receiverDimension = buf.readInt();
dimensionSupported = buf.readBoolean();
}
@Override
public int getEnergyUsage() {
return RefinedStorage.INSTANCE.networkTransmitterUsage + (int) Math.ceil(RefinedStorage.INSTANCE.networkTransmitterPerBlockUsage * getDistance());
return RefinedStorage.INSTANCE.networkTransmitterUsage + (isSameDimension() ? (int) Math.ceil(RefinedStorage.INSTANCE.networkTransmitterPerBlockUsage * getDistance()) : 0) + upgrades.getEnergyUsage();
}
@Override
@@ -127,7 +139,11 @@ public class TileNetworkTransmitter extends TileNode {
return (int) Math.sqrt(Math.pow(pos.getX() - receiver.getX(), 2) + Math.pow(pos.getY() - receiver.getY(), 2) + Math.pow(pos.getZ() - receiver.getZ(), 2));
}
public boolean isInSameDimension() {
return worldObj.isRemote ? inSameDimension : worldObj.provider.getDimension() == receiverDimension;
public boolean isSameDimension() {
return worldObj.provider.getDimension() == receiverDimension;
}
public boolean isDimensionSupported() {
return worldObj.isRemote ? dimensionSupported : (isSameDimension() || upgrades.hasUpgrade(ItemUpgrade.TYPE_INTERDIMENSIONAL));
}
}

View File

@@ -33,9 +33,9 @@ gui.refinedstorage:processing_pattern_encoder.pattern_create=Create Pattern
gui.refinedstorage:grid_filter=Grid Filter
gui.refinedstorage:network_transmitter=Network Transmitter
gui.refinedstorage:network_transmitter.distance=%d blocks
gui.refinedstorage:network_transmitter.dimension=Dimension #%d
gui.refinedstorage:network_transmitter.missing_card=Missing Network Card
gui.refinedstorage:network_transmitter.missing_receiver=Receiver not found
gui.refinedstorage:network_transmitter.different_dimension=Different dimension
gui.refinedstorage:network_transmitter.missing_upgrade=Insert upgrade
misc.refinedstorage:energy_stored=%d / %d RS
misc.refinedstorage:energy_usage=Usage: %d RS/t
@@ -152,7 +152,7 @@ item.refinedstorage:upgrade.1.name=Range Upgrade
item.refinedstorage:upgrade.2.name=Speed Upgrade
item.refinedstorage:upgrade.3.name=Crafting Upgrade
item.refinedstorage:upgrade.4.name=Stack Upgrade
item.refinedstorage:upgrade.5.name=Interdimension Upgrade
item.refinedstorage:upgrade.5.name=Interdimensional Upgrade
item.refinedstorage:storage_housing.name=Storage Housing
item.refinedstorage:grid_filter.name=Grid Filter
item.refinedstorage:network_card.name=Network Card

View File

@@ -33,9 +33,9 @@ gui.refinedstorage:processing_pattern_encoder.pattern_create=Patroon maken
gui.refinedstorage:grid_filter=Rooster Filter
gui.refinedstorage:network_transmitter=Netwerkzender
gui.refinedstorage:network_transmitter.distance=%d blokken
gui.refinedstorage:network_transmitter.dimension=Dimensie #%d
gui.refinedstorage:network_transmitter.missing_card=Geen Netwerkkaart
gui.refinedstorage:network_transmitter.missing_receiver=Ontvanger niet gevonden
gui.refinedstorage:network_transmitter.different_dimension=Andere dimensie
gui.refinedstorage:network_transmitter.missing_upgrade=Ontbrekende upgrade
misc.refinedstorage:energy_stored=%d / %d RS
misc.refinedstorage:energy_usage=Vebruik: %d RS/t
@@ -152,6 +152,7 @@ item.refinedstorage:upgrade.1.name=Afstand Upgrade
item.refinedstorage:upgrade.2.name=Snelheid Upgrade
item.refinedstorage:upgrade.3.name=Crafting Upgrade
item.refinedstorage:upgrade.4.name=Stack Upgrade
item.refinedstorage:upgrade.5.name=Interdimensionale Upgrade
item.refinedstorage:storage_housing.name=Opslagomhulsel
item.refinedstorage:grid_filter.name=Rooster Filter
item.refinedstorage:network_card.name=Netwerk Kaart

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "refinedstorage:items/interdimension_upgrade"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "refinedstorage:items/interdimensional_upgrade"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B