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 # Refined Storage Changelog
### 0.8.14
**Features**
- Added Interdimensional Upgrade so the Network Transmitter can work over different dimensions
### 0.8.13 ### 0.8.13
**Bugfixes** **Bugfixes**
- Fixed rendering crash with Disk Drive - Fixed rendering crash with Disk Drive

View File

@@ -83,7 +83,7 @@ public final class RefinedStorage {
public int speedUpgradeUsage; public int speedUpgradeUsage;
public int craftingUpgradeUsage; public int craftingUpgradeUsage;
public int stackUpgradeUsage; public int stackUpgradeUsage;
public int interdimensionUpgradeUsage; public int interdimensionalUpgradeUsage;
@EventHandler @EventHandler
public void preInit(FMLPreInitializationEvent e) { 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"); 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"); 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"); 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(); config.save();
} }

View File

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

View File

@@ -35,8 +35,10 @@ public class GuiNetworkTransmitter extends GuiBase {
String distance; String distance;
if (!networkTransmitter.isInSameDimension()) { if (!networkTransmitter.isDimensionSupported()) {
distance = t("gui.refinedstorage:network_transmitter.different_dimension"); 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) { } else if (networkTransmitter.getDistance() == -1) {
distance = t("gui.refinedstorage:network_transmitter.missing_card"); distance = t("gui.refinedstorage:network_transmitter.missing_card");
} else { } else {

View File

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

View File

@@ -62,7 +62,7 @@ public class ClientProxy extends CommonProxy {
new ResourceLocation("refinedstorage:range_upgrade"), new ResourceLocation("refinedstorage:range_upgrade"),
new ResourceLocation("refinedstorage:speed_upgrade"), new ResourceLocation("refinedstorage:speed_upgrade"),
new ResourceLocation("refinedstorage:stack_upgrade"), new ResourceLocation("refinedstorage:stack_upgrade"),
new ResourceLocation("refinedstorage:interdimension_upgrade") new ResourceLocation("refinedstorage:interdimensional_upgrade")
); );
// Items // 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_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_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_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 // Blocks
ModelLoader.setCustomStateMapper(RefinedStorageBlocks.GRID, (new StateMap.Builder()) 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_RANGE));
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_SPEED)); 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_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), GameRegistry.addShapedRecipe(new ItemStack(RefinedStorageItems.UPGRADE, 1, ItemUpgrade.TYPE_STACK),
"USU", "USU",

View File

@@ -15,7 +15,17 @@ import refinedstorage.item.ItemNetworkCard;
import refinedstorage.item.ItemUpgrade; import refinedstorage.item.ItemUpgrade;
public class TileNetworkTransmitter extends TileNode { 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)) { private ItemHandlerBasic networkCard = new ItemHandlerBasic(1, this, new ItemValidatorBasic(RefinedStorageItems.NETWORK_CARD)) {
@Override @Override
protected void onContentsChanged(int slot) { protected void onContentsChanged(int slot) {
@@ -41,7 +51,7 @@ public class TileNetworkTransmitter extends TileNode {
// Used clientside // Used clientside
private int distance; private int distance;
private boolean inSameDimension; private boolean dimensionSupported;
public TileNetworkTransmitter() { public TileNetworkTransmitter() {
rebuildOnUpdateChange = true; rebuildOnUpdateChange = true;
@@ -52,7 +62,7 @@ public class TileNetworkTransmitter extends TileNode {
} }
public boolean canTransmit() { public boolean canTransmit() {
return canUpdate() && receiver != null; return canUpdate() && receiver != null && isDimensionSupported();
} }
@Override @Override
@@ -77,8 +87,9 @@ public class TileNetworkTransmitter extends TileNode {
public void writeContainerData(ByteBuf buf) { public void writeContainerData(ByteBuf buf) {
super.writeContainerData(buf); super.writeContainerData(buf);
buf.writeInt((receiver != null && isInSameDimension()) ? getDistance() : -1); buf.writeInt((receiver != null && isSameDimension()) ? getDistance() : -1);
buf.writeBoolean(isInSameDimension()); buf.writeInt(receiverDimension);
buf.writeBoolean(isDimensionSupported());
} }
@Override @Override
@@ -86,12 +97,13 @@ public class TileNetworkTransmitter extends TileNode {
super.readContainerData(buf); super.readContainerData(buf);
distance = buf.readInt(); distance = buf.readInt();
inSameDimension = buf.readBoolean(); receiverDimension = buf.readInt();
dimensionSupported = buf.readBoolean();
} }
@Override @Override
public int getEnergyUsage() { 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 @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)); 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() { public boolean isSameDimension() {
return worldObj.isRemote ? inSameDimension : worldObj.provider.getDimension() == receiverDimension; 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:grid_filter=Grid Filter
gui.refinedstorage:network_transmitter=Network Transmitter gui.refinedstorage:network_transmitter=Network Transmitter
gui.refinedstorage:network_transmitter.distance=%d blocks 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_card=Missing Network Card
gui.refinedstorage:network_transmitter.missing_receiver=Receiver not found gui.refinedstorage:network_transmitter.missing_upgrade=Insert upgrade
gui.refinedstorage:network_transmitter.different_dimension=Different dimension
misc.refinedstorage:energy_stored=%d / %d RS misc.refinedstorage:energy_stored=%d / %d RS
misc.refinedstorage:energy_usage=Usage: %d RS/t 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.2.name=Speed Upgrade
item.refinedstorage:upgrade.3.name=Crafting Upgrade item.refinedstorage:upgrade.3.name=Crafting Upgrade
item.refinedstorage:upgrade.4.name=Stack 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:storage_housing.name=Storage Housing
item.refinedstorage:grid_filter.name=Grid Filter item.refinedstorage:grid_filter.name=Grid Filter
item.refinedstorage:network_card.name=Network Card 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:grid_filter=Rooster Filter
gui.refinedstorage:network_transmitter=Netwerkzender gui.refinedstorage:network_transmitter=Netwerkzender
gui.refinedstorage:network_transmitter.distance=%d blokken 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_card=Geen Netwerkkaart
gui.refinedstorage:network_transmitter.missing_receiver=Ontvanger niet gevonden gui.refinedstorage:network_transmitter.missing_upgrade=Ontbrekende upgrade
gui.refinedstorage:network_transmitter.different_dimension=Andere dimensie
misc.refinedstorage:energy_stored=%d / %d RS misc.refinedstorage:energy_stored=%d / %d RS
misc.refinedstorage:energy_usage=Vebruik: %d RS/t 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.2.name=Snelheid Upgrade
item.refinedstorage:upgrade.3.name=Crafting Upgrade item.refinedstorage:upgrade.3.name=Crafting Upgrade
item.refinedstorage:upgrade.4.name=Stack Upgrade item.refinedstorage:upgrade.4.name=Stack Upgrade
item.refinedstorage:upgrade.5.name=Interdimensionale Upgrade
item.refinedstorage:storage_housing.name=Opslagomhulsel item.refinedstorage:storage_housing.name=Opslagomhulsel
item.refinedstorage:grid_filter.name=Rooster Filter item.refinedstorage:grid_filter.name=Rooster Filter
item.refinedstorage:network_card.name=Netwerk Kaart 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