Skip to content

Commit

Permalink
Merge pull request #125 from Chainmail-Studios/shnup
Browse files Browse the repository at this point in the history
pain
  • Loading branch information
Shnupbups authored Jul 1, 2020
2 parents 4e52489 + 300bd79 commit d72e341
Show file tree
Hide file tree
Showing 162 changed files with 2,071 additions and 1,803 deletions.
12 changes: 6 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,26 @@ org.gradle.jvmargs = -Xmx4G

# Fabric
minecraft_version = 1.16.1
yarn_mappings = 1.16.1+build.17
loader_version = 0.8.8+build.202
yarn_mappings = 1.16.1+build.19
loader_version = 0.8.9+build.203

#Fabric api
api_version = 0.14.0+build.371-1.16
api_version = 0.14.1+build.372-1.16

# Mod
mod_name = astromine
mod_version = 1.0.10
mod_version = 1.0.18
mod_group = com.github.chainmailstudios
version_meta = fabric-1.16.1

# Dependency
cardinal_components_version = 2.4.1
spinnery_version = 3.0.48+fabric-1.16.x
shapes_version = 2.0.0+build.10
patchouli_version = 1.16-37.19-FABRIC
patchouli_version = 1.16-37.20-FABRIC
lba_version=0.7.0

# Conveniences
rei_version = 4.5.5
rei_version = 4.5.6
modmenu_version = 1.12.2+build.16
databreaker_version = -SNAPSHOT
Original file line number Diff line number Diff line change
@@ -1,29 +1,12 @@
package com.github.chainmailstudios.astromine;

import com.github.chainmailstudios.astromine.registry.*;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.loader.api.FabricLoader;

import net.minecraft.util.Identifier;

import blue.endless.jankson.Jankson;
import com.github.chainmailstudios.astromine.registry.AstromineBiomes;
import com.github.chainmailstudios.astromine.registry.AstromineBlocks;
import com.github.chainmailstudios.astromine.registry.AstromineBreathables;
import com.github.chainmailstudios.astromine.registry.AstromineChunkGenerators;
import com.github.chainmailstudios.astromine.registry.AstromineCommonCallbacks;
import com.github.chainmailstudios.astromine.registry.AstromineCommonPackets;
import com.github.chainmailstudios.astromine.registry.AstromineComponentTypes;
import com.github.chainmailstudios.astromine.registry.AstromineContainers;
import com.github.chainmailstudios.astromine.registry.AstromineDimensionLayers;
import com.github.chainmailstudios.astromine.registry.AstromineEntityTypes;
import com.github.chainmailstudios.astromine.registry.AstromineFeatures;
import com.github.chainmailstudios.astromine.registry.AstromineFluids;
import com.github.chainmailstudios.astromine.registry.AstromineGravities;
import com.github.chainmailstudios.astromine.registry.AstromineItems;
import com.github.chainmailstudios.astromine.registry.AstromineNetworkTypes;
import com.github.chainmailstudios.astromine.registry.AstromineOres;
import com.github.chainmailstudios.astromine.registry.AstrominePotions;
import com.github.chainmailstudios.astromine.registry.AstromineRecipeSerializers;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Expand Down Expand Up @@ -62,6 +45,7 @@ public void onInitialize() {
AstromineDimensionLayers.initialize();
AstromineCommonCallbacks.initialize();
AstromineRecipeSerializers.initialize();
AstromineCommands.initialize();

if (FabricLoader.getInstance().isModLoaded("libblockattributes_fluids")) {
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
package com.github.chainmailstudios.astromine.client.screen;

import com.github.chainmailstudios.astromine.common.container.CraftingRecipeCreatorContainer;
import com.github.chainmailstudios.astromine.common.utilities.HashUtilities;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.launch.common.FabricLauncher;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.registry.Registry;
import spinnery.client.screen.BaseContainerScreen;
import spinnery.widget.*;
import spinnery.widget.api.Position;
import spinnery.widget.api.Size;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;

public class CraftingRecipeCreatorContainerScreen extends BaseContainerScreen<CraftingRecipeCreatorContainer> {
private static final int INPUT = 1;
private static final int OUTPUT = 2;

public CraftingRecipeCreatorContainerScreen(Text name, CraftingRecipeCreatorContainer linkedContainer, PlayerEntity player) {
super(name, linkedContainer, player);

WInterface mainInterface = getInterface();

WPanel mainPanel = mainInterface.createChild(WPanel::new, Position.ORIGIN, Size.of(176, 175));
mainPanel.center();
mainPanel.setOnAlign(WAbstractWidget::center);

WSlot.addPlayerInventory(Position.of(mainPanel, 7, 68, 0), Size.of(18, 18), mainPanel);

List<WSlot> craftingSlots = Lists.newArrayList(WSlot.addArray(Position.of(mainPanel, 7, 7, 0), Size.of(18, 18), mainPanel, 0, INPUT, 3, 3));

craftingSlots.sort(Comparator.comparingInt(WSlot::getSlotNumber));

WSlot resultSlot = mainPanel.createChild(WSlot::new, Position.of(mainPanel, 7 + 54 + 27, 7 + 13.5f, 0), Size.of(27, 27)).setSlotNumber(0).setInventoryNumber(OUTPUT);

mainPanel.createChild(WButton::new,
Position.of(
mainPanel,
mainPanel.getWidth() - 7 - 54,
mainPanel.getHeight() - 7 - 18,
0
), Size.of(54, 18))
.setLabel("Save")
.setOnMouseClicked(((widget, mouseX, mouseY, mouseButton) -> {
JsonObject output = new JsonObject();

JsonArray pattern = new JsonArray();
pattern.add("012");

pattern.add("345");

pattern.add("678");

JsonObject key = new JsonObject();

int[] i = { 0 };

craftingSlots.forEach(slot -> {
JsonObject stack = new JsonObject();
stack.addProperty("item", Registry.ITEM.getId(slot.getStack().getItem()).toString());

key.add(String.valueOf(i[0]), stack);

++i[0];
});

JsonObject result = new JsonObject();
result.addProperty("item", Registry.ITEM.getId(resultSlot.getStack().getItem()).toString());
result.addProperty("count", resultSlot.getStack().getCount());

output.addProperty("type", "minecraft:crafting_shaped");
output.add("pattern", pattern);
output.add("key", key);
output.add("result", result);

try {
File rootDirectory = FabricLoader.getInstance().getGameDirectory();

File outputDirectory = new File(rootDirectory.getPath().replace("\\.", "") + "/output/");

outputDirectory.mkdirs();

File outputFile = new File(outputDirectory.getPath() + "/" + Registry.ITEM.getId(resultSlot.getStack().getItem()).getPath() + ".json");

BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));

writer.write(output.toString());

writer.close();
} catch (Exception exception) {
exception.printStackTrace();
}
}));

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

import com.github.chainmailstudios.astromine.common.fraction.Fraction;
import com.github.chainmailstudios.astromine.common.volume.fluid.FluidVolume;
import com.github.chainmailstudios.astromine.registry.AstromineDimensionTypes;
import nerdhub.cardinal.components.api.component.Component;

import com.google.common.collect.Lists;
Expand Down Expand Up @@ -45,9 +46,9 @@ public void remove(BlockPos blockPos) {
public FluidVolume get(BlockPos position) {
RegistryKey<DimensionType> key = world.getDimensionRegistryKey();

boolean isVanilla = (key == DimensionType.OVERWORLD_REGISTRY_KEY || key == DimensionType.OVERWORLD_CAVES_REGISTRY_KEY || key == DimensionType.THE_NETHER_REGISTRY_KEY || key == DimensionType.THE_END_REGISTRY_KEY);
boolean isSpace = (key == AstromineDimensionTypes.SPACE_REGISTRY_KEY);

if (isVanilla && !volumes.containsKey(position)) {
if (!isSpace && !volumes.containsKey(position)) {
return FluidVolume.oxygen();
} else {
return volumes.getOrDefault(position, FluidVolume.empty());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public CompoundTag toTag(CompoundTag tag) {
int k = 0;

for (NetworkNode member : instance.members) {
nodeList.put(String.valueOf(++k), member.toTag(new CompoundTag()));
memberList.put(String.valueOf(++k), member.toTag(new CompoundTag()));
}

CompoundTag data = new CompoundTag();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.github.chainmailstudios.astromine.common.container;

import com.github.chainmailstudios.astromine.registry.AstromineContainers;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.screen.ScreenHandlerType;
import spinnery.common.container.BaseContainer;
import spinnery.common.inventory.BaseInventory;
import spinnery.widget.WButton;
import spinnery.widget.WSlot;
import spinnery.widget.api.Position;
import spinnery.widget.api.Size;

public class CraftingRecipeCreatorContainer extends BaseContainer {
private static final int INPUT = 1;
private static final int OUTPUT = 2;

public CraftingRecipeCreatorContainer(int synchronizationID, PlayerInventory playerInventory) {
super(synchronizationID, playerInventory);

addInventory(INPUT, new BaseInventory(9));
addInventory(OUTPUT, new BaseInventory(1));

WSlot.addHeadlessPlayerInventory(getInterface());

WSlot.addHeadlessArray(getInterface(), 0, INPUT, 3, 3);

getInterface().createChild(WSlot::new).setInventoryNumber(OUTPUT).setSlotNumber(0);
}

@Override
public ScreenHandlerType<?> getType() {
return AstromineContainers.CRAFTING_RECIPE_CREATOR;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@

import com.github.chainmailstudios.astromine.registry.AstromineSounds;

public class FireExtinguisher extends Item {
public class FireExtinguisherItem extends Item {
long lastPlayed = 0;

public FireExtinguisher(Item.Settings settings) {
public FireExtinguisherItem(Item.Settings settings) {
super(settings);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
import com.github.chainmailstudios.astromine.registry.AstromineSounds;
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;

public class HolographicConnector extends Item {
public class HolographicConnectorItem extends Item {
public static final Object2ObjectArrayMap<World, Object> CACHE = new Object2ObjectArrayMap<>();

public HolographicConnector(Settings settings) {
public HolographicConnectorItem(Settings settings) {
super(settings);
}

Expand Down Expand Up @@ -62,12 +62,12 @@ public ActionResult useOnBlock(ItemUsageContext context) {

if ((parent.getPos().getX() != entity.getPos().getX() && parent.getPos().getZ() != entity.getPos().getZ()) || oP.getSquaredDistance(nP) > 65536) {
CACHE.put(world, null);
context.getPlayer().sendMessage(new TranslatableText("text.astromine.message.holographic_connection_failed", parent.getPos().toShortString(), entity.getPos().toShortString()).formatted(Formatting.RED), true);
context.getPlayer().sendMessage(new TranslatableText("text.astromine.message.holographic_connection_failed", toShortString(parent.getPos()), entity.getPos().toShortString()).formatted(Formatting.RED), true);
world.playSound(context.getPlayer(), context.getBlockPos(), AstromineSounds.HOLOGRAPHIC_CONNECTOR_CLICK, SoundCategory.PLAYERS, 0.5f, 0.33f);
return ActionResult.FAIL;
} else if (parent.getCachedState().get(HorizontalFacingBlock.FACING).getOpposite() != entity.getCachedState().get(HorizontalFacingBlock.FACING)) {
CACHE.put(world, null);
context.getPlayer().sendMessage(new TranslatableText("text.astromine.message.holographic_connection_failed", parent.getPos().toShortString(), entity.getPos().toShortString()).formatted(Formatting.RED), true);
context.getPlayer().sendMessage(new TranslatableText("text.astromine.message.holographic_connection_failed", toShortString(parent.getPos()), entity.getPos().toShortString()).formatted(Formatting.RED), true);
world.playSound(context.getPlayer(), context.getBlockPos(), AstromineSounds.HOLOGRAPHIC_CONNECTOR_CLICK, SoundCategory.PLAYERS, 0.5f, 0.33f);
return ActionResult.FAIL;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public void simulate(NetworkInstance controller) {

for (FluidVolume input : inputs) {
for (FluidVolume output : outputs) {
if (!input.isEmpty() && !output.isFull() && input.getFluid() == output.getFluid()) {
if (!input.isEmpty() && !output.isFull() && (input.getFluid() == output.getFluid() || output.isEmpty())) {
output.pullVolume(input, Fraction.BUCKET);
} else if (input.isEmpty()) {
break;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.github.chainmailstudios.astromine.common.utilities;

public class HashUtilities {
public static String firstOf(Object object) {
return String.valueOf(String.valueOf(object.hashCode()).charAt(0));
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package com.github.chainmailstudios.astromine.mixin;

import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.ParticleTextureSheet;
import net.minecraft.client.render.Camera;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.world.ClientWorld;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.Constant;
import org.spongepowered.asm.mixin.injection.ModifyConstant;
Expand All @@ -11,11 +16,14 @@
import com.github.chainmailstudios.astromine.common.registry.GravityRegistry;

@Mixin(CurrentDownParticle.class)
public class CurrentDownParticleMixin {
public abstract class CurrentDownParticleMixin extends Particle {
public CurrentDownParticleMixin(ClientWorld world, double x, double y, double z) {
super(world, x, y, z);
throw new UnsupportedOperationException("Cannot instantiate Mixin class!");
}

@ModifyConstant(method = "tick()V", constant = @Constant(doubleValue = 0.08D))
double getGravity(double original) {
World world = ((Entity) (Object) this).world;

return GravityRegistry.INSTANCE.get(world.getDimensionRegistryKey());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ void onGetFov(Camera camera, float tickDelta, boolean changingFov, CallbackInfoR
}

callbackInformationReturnable.setReturnValue(gameFov);
callbackInformationReturnable.cancel();

lastFov = gameFov;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ void onTick(CallbackInfo callbackInformation) {
} else {
//FluidVolume volume = SpaceSuitItem.readVolume(equippedArmor);
//fluid = volume.getFluid();
//
//
//if (volume.isEmpty()) {
// isBreathing = false;
//}
Expand Down Expand Up @@ -113,8 +113,6 @@ void onTick(CallbackInfo callbackInformation) {
if (fluid instanceof AdvancedFluid && ((AdvancedFluid) fluid).isToxic()) {
entity.damage(DamageSource.GENERIC, ((AdvancedFluid) fluid).getDamage());
}

isBreathing = false;
}

if (downBlock instanceof FluidBlock) {
Expand Down
Loading

0 comments on commit d72e341

Please sign in to comment.