Skip to content

Commit

Permalink
Port to 1.7.10
Browse files Browse the repository at this point in the history
  • Loading branch information
unascribed committed Mar 5, 2017
1 parent a62227f commit 19255c0
Show file tree
Hide file tree
Showing 91 changed files with 3,673 additions and 1,389 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ bin
private.properties
.gradle
minecraft
libs
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "ProbeDataProviderAPI"]
path = ProbeDataProviderAPI
url = git@github.com:elytra/ProbeDataProviderAPI.git
1 change: 0 additions & 1 deletion ProbeDataProviderAPI
Submodule ProbeDataProviderAPI deleted from 1afb9e
63 changes: 20 additions & 43 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,16 @@ buildscript {
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
classpath 'me.tatarka:gradle-retrolambda:3.2.0'
}
}

plugins {
id 'com.github.johnrengelman.shadow' version '1.2.3'
id 'net.minecrell.licenser' version '0.3'
}

apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'forge'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'maven'

Expand All @@ -38,6 +37,11 @@ version = config.version
sourceCompatibility = 1.8
targetCompatibility = 1.8

license {
exclude '**/cofh/**'
exclude '**/concrete/**'
}

retrolambda {
javaVersion JavaVersion.VERSION_1_6
defaultMethods true
Expand All @@ -49,60 +53,33 @@ repositories {
url = 'https://oss.sonatype.org/content/repositories/public/'
}
maven {
name = 'unascribed'
url = 'http://unascribed.com/maven/releases'
name = 'elytra'
url = 'http://repo.elytradev.com'
}
jcenter()
ivy {
artifactPattern "http://unascribed.com/jars/[organisation]/[module].[ext]"
}
maven {
name = 'jei'
url = "http://dvs1.progwml6.com/files/maven"
}
maven {
name = 'hwyla'
url "http://tehnut.info/maven"
}
}

configurations {
deploy
}

jar {
classifier = 'slim'
}

shadowJar {
classifier = ''
relocate 'io.github.elytra.concrete', 'com.elytradev.fruitphone.repackage.io.github.elytra.concrete'
configurations = [project.configurations.shadow]
}

reobf {
shadowJar { mappingType = 'SEARGE' }
}

tasks.build.dependsOn reobfShadowJar

artifacts {
archives shadowJar
shade
compile.extendsFrom shade
}

dependencies {
deploy 'org.apache.maven.wagon:wagon-ssh:2.10'

compile project(':ProbeDataProviderAPI')

shadow 'io.github.elytra:concrete:0.0.9'
compile 'io.github.elytra:concrete:0.0.9'

compile 'mezz.jei:jei_1.10.2:3.9.7.260:api'
runtime 'mezz.jei:jei_1.10.2:3.9.7.260'

compile 'mcp.mobius.waila:Hwyla:1.8.10-B24_1.10.2'
runtime 'mcp.mobius.waila:Hwyla:1.8.10-B24_1.10.2'
compile files('libs/Waila-1.5.10_1.7.10-deobf.jar')
}

jar {
configurations.shade.each { dep ->
from(project.zipTree(dep)){
exclude 'META-INF', 'META-INF/**'
}
}
}

minecraft {
Expand Down
6 changes: 3 additions & 3 deletions build.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
version=1.10.2-0.1.5
mappings=snapshot_20160921
forge=1.10.2-12.18.1.2093
version=1.7.10-0.1.5
mappings=stable_12
forge=1.7.10-10.13.4.1614-1.7.10
1 change: 0 additions & 1 deletion settings.gradle

This file was deleted.

11 changes: 11 additions & 0 deletions src/main/java/cofh/api/CoFHAPIProps.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package cofh.api;

public class CoFHAPIProps {

private CoFHAPIProps() {

}

public static final String VERSION = "1.7.10R1.0.2";

}
158 changes: 158 additions & 0 deletions src/main/java/cofh/api/energy/EnergyStorage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
package cofh.api.energy;

import net.minecraft.nbt.NBTTagCompound;

/**
* Reference implementation of {@link IEnergyStorage}. Use/extend this or implement your own.
*
* @author King Lemming
*
*/
public class EnergyStorage implements IEnergyStorage {

protected int energy;
protected int capacity;
protected int maxReceive;
protected int maxExtract;

public EnergyStorage(int capacity) {

this(capacity, capacity, capacity);
}

public EnergyStorage(int capacity, int maxTransfer) {

this(capacity, maxTransfer, maxTransfer);
}

public EnergyStorage(int capacity, int maxReceive, int maxExtract) {

this.capacity = capacity;
this.maxReceive = maxReceive;
this.maxExtract = maxExtract;
}

public EnergyStorage readFromNBT(NBTTagCompound nbt) {

this.energy = nbt.getInteger("Energy");

if (energy > capacity) {
energy = capacity;
}
return this;
}

public NBTTagCompound writeToNBT(NBTTagCompound nbt) {

if (energy < 0) {
energy = 0;
}
nbt.setInteger("Energy", energy);
return nbt;
}

public void setCapacity(int capacity) {

this.capacity = capacity;

if (energy > capacity) {
energy = capacity;
}
}

public void setMaxTransfer(int maxTransfer) {

setMaxReceive(maxTransfer);
setMaxExtract(maxTransfer);
}

public void setMaxReceive(int maxReceive) {

this.maxReceive = maxReceive;
}

public void setMaxExtract(int maxExtract) {

this.maxExtract = maxExtract;
}

public int getMaxReceive() {

return maxReceive;
}

public int getMaxExtract() {

return maxExtract;
}

/**
* This function is included to allow for server -&gt; client sync. Do not call this externally to the containing Tile Entity, as not all IEnergyHandlers
* are guaranteed to have it.
*
* @param energy
*/
public void setEnergyStored(int energy) {

this.energy = energy;

if (this.energy > capacity) {
this.energy = capacity;
} else if (this.energy < 0) {
this.energy = 0;
}
}

/**
* This function is included to allow the containing tile to directly and efficiently modify the energy contained in the EnergyStorage. Do not rely on this
* externally, as not all IEnergyHandlers are guaranteed to have it.
*
* @param energy
*/
public void modifyEnergyStored(int energy) {

this.energy += energy;

if (this.energy > capacity) {
this.energy = capacity;
} else if (this.energy < 0) {
this.energy = 0;
}
}

/* IEnergyStorage */
@Override
public int receiveEnergy(int maxReceive, boolean simulate) {

int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive));

if (!simulate) {
energy += energyReceived;
}
return energyReceived;
}

@Override
public int extractEnergy(int maxExtract, boolean simulate) {

int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract));

if (!simulate) {
energy -= energyExtracted;
}
return energyExtracted;
}

@Override
public int getEnergyStored() {

return energy;
}

@Override
public int getMaxEnergyStored() {

return capacity;
}

}
21 changes: 21 additions & 0 deletions src/main/java/cofh/api/energy/IEnergyConnection.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package cofh.api.energy;

import net.minecraftforge.common.util.ForgeDirection;

/**
* Implement this interface on TileEntities which should connect to energy transportation blocks. This is intended for blocks which generate energy but do not
* accept it; otherwise just use IEnergyHandler.
* <p>
* Note that {@link IEnergyHandler} is an extension of this.
*
* @author King Lemming
*
*/
public interface IEnergyConnection {

/**
* Returns TRUE if the TileEntity can connect on a given side.
*/
boolean canConnectEnergy(ForgeDirection from);

}
52 changes: 52 additions & 0 deletions src/main/java/cofh/api/energy/IEnergyContainerItem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package cofh.api.energy;

import net.minecraft.item.ItemStack;

/**
* Implement this interface on Item classes that support external manipulation of their internal energy storages.
* <p>
* A reference implementation is provided {@link ItemEnergyContainer}.
*
* @author King Lemming
*
*/
public interface IEnergyContainerItem {

/**
* Adds energy to a container item. Returns the quantity of energy that was accepted. This should always return 0 if the item cannot be externally charged.
*
* @param container
* ItemStack to be charged.
* @param maxReceive
* Maximum amount of energy to be sent into the item.
* @param simulate
* If TRUE, the charge will only be simulated.
* @return Amount of energy that was (or would have been, if simulated) received by the item.
*/
int receiveEnergy(ItemStack container, int maxReceive, boolean simulate);

/**
* Removes energy from a container item. Returns the quantity of energy that was removed. This should always return 0 if the item cannot be externally
* discharged.
*
* @param container
* ItemStack to be discharged.
* @param maxExtract
* Maximum amount of energy to be extracted from the item.
* @param simulate
* If TRUE, the discharge will only be simulated.
* @return Amount of energy that was (or would have been, if simulated) extracted from the item.
*/
int extractEnergy(ItemStack container, int maxExtract, boolean simulate);

/**
* Get the amount of energy currently stored in the container item.
*/
int getEnergyStored(ItemStack container);

/**
* Get the max amount of energy that can be stored in the container item.
*/
int getMaxEnergyStored(ItemStack container);

}
Loading

0 comments on commit 19255c0

Please sign in to comment.