Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/main/java/gregtech/api/gui/GuiTextures.java
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ public class GuiTextures {
public static final TextureArea PROGRESS_BAR_SIFT = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_sift.png");
public static final TextureArea PROGRESS_BAR_SLICE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_slice.png");
public static final TextureArea PROGRESS_BAR_WIREMILL = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_wiremill.png");
public static final TextureArea PROGRESS_BAR_CIRCUIT_ASSEMBLER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_circuit_assembler.png");

//JEI
public static final TextureArea MULTIBLOCK_CATEGORY = TextureArea.fullImage("textures/gui/icon/coke_oven.png");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ public DustMetaItem() {
for (SimpleDustMaterial material : SimpleDustMaterial.MATERIAL_REGISTRY) {
int i = SimpleDustMaterial.MATERIAL_REGISTRY.getIDForObject(material);
for (int j = 0; j < orePrefixes.length; j++) {
OrePrefix orePrefix = orePrefixes[j];
if (material.hasFlag(GENERATE_SMALL_TINY)) {
if (j == 2 || material.hasFlag(GENERATE_SMALL_TINY)) {
generatedItems.add((short) (i * 3 + j));
}
}
Expand All @@ -58,14 +57,13 @@ public void registerModels() {
TShortObjectHashMap<ModelResourceLocation> alreadyRegistered = new TShortObjectHashMap<>();
for (short metaItem : generatedItems) {
OrePrefix prefix = orePrefixes[metaItem % 3];
MaterialIconSet materialIconSet = SimpleDustMaterial.MATERIAL_REGISTRY.getObjectById(metaItem / 3).iconSet;
short registrationKey = (short) (metaItem + materialIconSet.ordinal());
if (!alreadyRegistered.containsKey(registrationKey)) {
MaterialIconSet materialIconSet = SimpleDustMaterial.MATERIAL_REGISTRY.getObjectById((metaItem - (metaItem % 3)) / 3).iconSet;
if (!alreadyRegistered.containsKey(metaItem)) {
ResourceLocation resourceLocation = prefix.materialIconType.getItemModelPath(materialIconSet);
ModelBakery.registerItemVariants(this, resourceLocation);
alreadyRegistered.put(registrationKey, new ModelResourceLocation(resourceLocation, "inventory"));
alreadyRegistered.put(metaItem, new ModelResourceLocation(resourceLocation, "inventory"));
}
ModelResourceLocation resourceLocation = alreadyRegistered.get(registrationKey);
ModelResourceLocation resourceLocation = alreadyRegistered.get(metaItem);
metaItemsModels.put(metaItem, resourceLocation);
}
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/gregtech/api/items/metaitem/MetaItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public static List<MetaItem<?>> getMetaItems() {
return Collections.unmodifiableList(META_ITEMS);
}

protected TShortObjectMap<T> metaItems = new TShortObjectHashMap<>();
protected Map<Short, T> metaItems = new TreeMap<>();
private Map<String, T> names = new HashMap<>();
protected TShortObjectMap<ModelResourceLocation> metaItemsModels = new TShortObjectHashMap<>();
protected TShortObjectHashMap<ModelResourceLocation[]> specialItemsModels = new TShortObjectHashMap<>();
Expand All @@ -102,7 +102,7 @@ public void registerColor() {

@SideOnly(Side.CLIENT)
public void registerModels() {
for (short itemMetaKey : metaItems.keys()) {
for (short itemMetaKey : metaItems.keySet()) {
T metaValueItem = metaItems.get(itemMetaKey);
int numberOfModels = metaValueItem.getModelAmount();
if (numberOfModels > 1) {
Expand Down Expand Up @@ -224,7 +224,7 @@ public final T addItem(int metaValue, String unlocalizedName) {
}

public final Collection<T> getAllItems() {
return Collections.unmodifiableCollection(metaItems.valueCollection());
return Collections.unmodifiableCollection(metaItems.values());
}

public final T getItem(short metaValue) {
Expand Down Expand Up @@ -570,7 +570,7 @@ public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> subItems) {
if (tab != GregTechAPI.TAB_GREGTECH && tab != CreativeTabs.SEARCH) {
return;
}
for (T enabledItem : metaItems.valueCollection()) {
for (T enabledItem : metaItems.values()) {
if (!enabledItem.isVisible())
continue;
ItemStack itemStack = enabledItem.getStackForm();
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/gregtech/api/recipes/RecipeMaps.java
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,12 @@ public class RecipeMaps {
.setSlotOverlay(false, false, GuiTextures.BENDER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_BENDING, ProgressWidget.MoveType.HORIZONTAL);

@ZenProperty
public static final RecipeMap<CircuitAssemblerRecipeBuilder> CIRCUIT_ASSEMBLER_RECIPES = new RecipeMap<>("circuit_assembler",
1, 6, 1, 1, 0, 1, 0, 0, new CircuitAssemblerRecipeBuilder())
.setSlotOverlay(false, false, GuiTextures.CIRCUIT_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_CIRCUIT_ASSEMBLER, ProgressWidget.MoveType.HORIZONTAL);

@ZenProperty
public static final FuelRecipeMap COMBUSTION_GENERATOR_FUELS = new FuelRecipeMap("combustion_generator");

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package gregtech.api.recipes.builders;

import gregtech.api.GTValues;
import gregtech.api.recipes.Recipe;
import gregtech.api.recipes.RecipeBuilder;
import gregtech.api.recipes.RecipeMap;
import gregtech.api.unification.material.Materials;
import gregtech.api.util.EnumValidationResult;
import gregtech.api.util.GTLog;
import gregtech.api.util.GTUtility;
import gregtech.api.util.ValidationResult;

import javax.annotation.Nonnull;

public class CircuitAssemblerRecipeBuilder extends RecipeBuilder<CircuitAssemblerRecipeBuilder> {

private int solderMultiplier = 1;

public CircuitAssemblerRecipeBuilder() {
}

public CircuitAssemblerRecipeBuilder(Recipe recipe, RecipeMap<CircuitAssemblerRecipeBuilder> recipeMap) {
super(recipe, recipeMap);
}

public CircuitAssemblerRecipeBuilder(RecipeBuilder<CircuitAssemblerRecipeBuilder> recipeBuilder) {
super(recipeBuilder);
}

@Override
@Nonnull
public CircuitAssemblerRecipeBuilder copy() {
return new CircuitAssemblerRecipeBuilder(this);
}

public CircuitAssemblerRecipeBuilder solderMultiplier(int multiplier) {
if (!GTUtility.isBetweenInclusive(1, 64000, (long) GTValues.L * multiplier)) {
GTLog.logger.error("Fluid multiplier cannot exceed 64000mb total. Multiplier: {}", multiplier);
GTLog.logger.error("Stacktrace:", new IllegalArgumentException());
recipeStatus = EnumValidationResult.INVALID;
}
this.solderMultiplier = multiplier;
return this;
}

@Override
@Nonnull
public ValidationResult<Recipe> build() {
return ValidationResult.newResult(finalizeAndValidate(),
new Recipe(inputs, outputs, chancedOutputs, fluidInputs, fluidOutputs, duration, EUt, hidden));
}

@Override
public void buildAndRegister() {
if (fluidInputs.isEmpty()) {
recipeMap.addRecipe(this.copy()
.fluidInputs(Materials.SolderingAlloy.getFluid(Math.max(1, (GTValues.L / 2) * solderMultiplier)))
.build());
recipeMap.addRecipe(this.copy()
.fluidInputs(Materials.Tin.getFluid(Math.max(1, GTValues.L * solderMultiplier)))
.build());
} else {
recipeMap.addRecipe(build());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ public void buildAndRegister() {
.duration(duration * 2).build());
recipeMap.addRecipe(this.copy()
.fluidInputs(ModHandler.getDistilledWater(Math.max(3, Math.min(750, duration * EUt / 426))))
.duration((int) (duration * 1.3)).build());
.duration((int) (duration * 1.5)).build());
recipeMap.addRecipe(this.copy()
.fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, duration * EUt / 1280))))
.duration(Math.max(1, duration / 2)).build());
.duration(Math.max(1, duration)).build());
} else {
recipeMap.addRecipe(build());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,19 @@ public static class Tier {
public static Material Superconductor = new Material(355, "superconductor", 0xFFFFFF, MaterialIconSet.NONE, of(), 0L, null) {
};
public static Material Infinite = new MarkerMaterial("infinite");

public static Material UEVCircuit = new MarkerMaterial("uev");
public static Material UIVCircuit = new MarkerMaterial("uiv");
public static Material UMVCircuit = new MarkerMaterial("umv");
public static Material UXVCircuit = new MarkerMaterial("uxv");
public static Material MAXCircuit = new MarkerMaterial("max");
}

public static class Component {
public static Material Resistor = new MarkerMaterial("resistor");
public static Material Transistor = new MarkerMaterial("transistor");
public static Material Capacitor = new MarkerMaterial("capacitor");
public static Material Diode = new MarkerMaterial("diode");
}

}
Loading