Skip to content

Commit

Permalink
Merge branch 'release/2.2.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
fuj1n committed Nov 6, 2020
2 parents e4d3635 + 234c944 commit f3d36b3
Show file tree
Hide file tree
Showing 16 changed files with 80 additions and 53 deletions.
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@ repositories {
}
}

group = "slimeknights"
group = "slimeknights.tmechworks"

version = "${minecraft_version}-${mod_version}"
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'

minecraft {
mappings channel: mappings_channel, version: mappings_version
Expand Down Expand Up @@ -84,9 +85,9 @@ dependencies {
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")

// Compile against the Hwyla API, but do not include it at runtime
compileOnly fg.deobf("mcp.mobius.waila:Hwyla:${hwyla_version}_${minecraft_version}:api")
compileOnly fg.deobf("mcp.mobius.waila:Hwyla:${hwyla_version}:api")
// At runtime, use the full Hwyla jar
runtimeOnly fg.deobf("mcp.mobius.waila:Hwyla:${hwyla_version}_${minecraft_version}")
runtimeOnly fg.deobf("mcp.mobius.waila:Hwyla:${hwyla_version}")
}

sourceSets {
Expand Down
14 changes: 7 additions & 7 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=2.2.1
mod_version=2.2.2

minecraft_version=1.16.1
minecraft_version=1.16.3
minecraft_version_short=1.16

forge_version=32.0.106
forge_version=34.1.0
forge_version_toml=32

mappings_channel=snapshot
mappings_version=20200723-1.16.1
mappings_version=20201028-1.16.3

mantle_version=1.6.21
mantle_version=1.6.40
tinkers_version=0
jei_version=7.0.0.6
jei_version=7.6.0.49

hwyla_version=1.10.10-B77
hwyla_version=1.10.11-B78_1.16.2
3 changes: 3 additions & 0 deletions src/main/java/slimeknights/tmechworks/TMechworks.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import slimeknights.tmechworks.common.config.MechworksConfig;
import slimeknights.tmechworks.common.entities.MechworksFakePlayer;
import slimeknights.tmechworks.common.network.PacketHandler;
import slimeknights.tmechworks.common.worldgen.MechworksWorld;

@Mod(TMechworks.modId)
public class TMechworks {
Expand Down Expand Up @@ -48,6 +49,8 @@ public TMechworks() {
content = new MechworksContent();
content.initRegisters();
bus.register(content);

MinecraftForge.EVENT_BUS.register(new MechworksWorld());
}

private void preInit(final FMLCommonSetupEvent event) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public void tick() {
public void render(MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(matrixStack);
super.render(matrixStack, mouseX, mouseY, partialTicks);
this.func_230459_a_(matrixStack, mouseX, mouseY); // func_230459_a_ -> renderHoveredToolTip
this.renderHoveredTooltip(matrixStack, mouseX, mouseY);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ public void tick() {
public void render(MatrixStack stack, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(stack);
super.render(stack, mouseX, mouseY, partialTicks);
this.func_230459_a_(stack, mouseX, mouseY);
this.renderHoveredTooltip(stack, mouseX, mouseY);
}

@Override
Expand Down Expand Up @@ -147,14 +147,14 @@ private void drawAdvancedSlots(MatrixStack stack) {
}

@Override
protected void func_230459_a_(MatrixStack stack, int mouseX, int mouseY) {
protected void renderHoveredTooltip(MatrixStack stack, int mouseX, int mouseY) {
if(this.hoveredSlot == null)
return;

if(!isAdvanced || this.hoveredSlot.getHasStack()) {
super.func_230459_a_(stack, mouseX, mouseY); // func_230459_a_ => renderHoveredTooltip
super.renderHoveredTooltip(stack, mouseX, mouseY); // func_230459_a_ => renderHoveredTooltip
} else if(hoveredSlot.inventory == getContainer().getTile().slots) {
renderTooltip(stack, ITextProperties.func_240653_a_(I18n.format(Util.prefix("gui.blocknum"), hoveredSlot.getSlotIndex() + 1), Style.EMPTY.applyFormatting(TextFormatting.GRAY)), mouseX, mouseY);
renderTooltip(stack, new TranslationTextComponent(Util.prefix("gui.blocknum"), hoveredSlot.getSlotIndex() + 1).setStyle(Style.EMPTY.applyFormatting(TextFormatting.GRAY)), mouseX, mouseY);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.item.*;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.OreFeatureConfig;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.ToolType;
Expand All @@ -16,6 +18,8 @@
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import slimeknights.mantle.registration.deferred.*;
Expand Down Expand Up @@ -114,6 +118,6 @@ public void init(InterModEnqueueEvent event) {
}

public void postInit(InterModProcessEvent event) {
MechworksWorld.registerWorldGeneration();

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public void setDefaultNBT(CompoundNBT nbt, CompoundNBT blockState) {
@Override
public void onBlockItemConstruct(MechworksBlockItem item) {
// func_239418_a_ => registerPropertyForItem
ItemModelsProperties.func_239418_a_(item, new ResourceLocation("advanced"), (stack, world, entity) -> {
ItemModelsProperties.registerProperty(item, new ResourceLocation("advanced"), (stack, world, entity) -> {
boolean advanced = false;

if(stack.hasTag() && stack.getTag().contains("drawAdvanced", Constants.NBT.TAG_BYTE))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public void setDefaultNBT(CompoundNBT nbt, CompoundNBT blockState) {

@Override
public void onBlockItemConstruct(MechworksBlockItem item) {
ItemModelsProperties.func_239418_a_(item, new ResourceLocation("extinguish"), (stack, world, entity) -> {
ItemModelsProperties.registerProperty(item, new ResourceLocation("extinguish"), (stack, world, entity) -> {
boolean shouldExtinguish = true;

if(stack.hasTag() && stack.getTag().contains("extinguish", Constants.NBT.TAG_BYTE))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ public List<ItemStack> getDrops(BlockState state, LootContext.Builder builder) {
RedstoneMachineTileEntity machine = (RedstoneMachineTileEntity) te;
ItemStack item = new ItemStack(this, 1);

writeAdditionalItemData(state, builder.getWorld(), builder.get(LootParameters.POSITION), item);
writeAdditionalItemData(state, builder.getWorld(), new BlockPos(builder.get(LootParameters.field_237457_g_)), item);

if (dropState)
machine.storeTileData(item);
Expand Down Expand Up @@ -185,6 +185,8 @@ public boolean blockMatches(BlockState state, World worldIn, BlockPos pos, Block
return state.getBlock() == newState.getBlock();
}



@OnlyIn(Dist.CLIENT)
@Override
public void addInformation(ItemStack stack, @Nullable IBlockReader worldIn, List<ITextComponent> tooltip, ITooltipFlag flagIn) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ public boolean breakBlock(BlockPos pos, int targetSlot) {

context.withNullableParameter(LootParameters.BLOCK_ENTITY, world.getTileEntity(pos))
.withRandom(world.rand)
.withParameter(LootParameters.POSITION, pos)
.withParameter(LootParameters.field_237457_g_, Vector3d.copyCentered(pos))
.withParameter(LootParameters.TOOL, tool);

ItemStack stack = slots.getStackInSlot(targetSlot);
Expand Down Expand Up @@ -699,7 +699,7 @@ public DrawbridgeItemUseContext(ItemUseContext p_i47813_1_) {

@Override
public BlockPos getPos() {
return rayTraceResult.getPos();
return func_242401_i().getPos();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,15 +322,19 @@ public IModelData getModelData() {
}

@Override
public void getInformation(@Nonnull List<ITextComponent> info, @Nonnull InformationType type, PlayerEntity player) {
if (type != InformationType.BODY)
return;
public void syncInformation(CompoundNBT nbt, ServerPlayerEntity player) {
nbt.putInt("power", getRedstoneState());
}

info.add(new TranslationTextComponent("tooltip.waila.power", getRedstoneState()));
@Override
public void getInformation(@Nonnull List<ITextComponent> info, @Nonnull InformationType type, PlayerEntity player) {
}

@Override
public void getInformation(@Nonnull List<ITextComponent> info, @Nonnull InformationType type, CompoundNBT serverData, PlayerEntity player) {
if (type == InformationType.BODY && !serverData.isEmpty())
info.add(new TranslationTextComponent("tooltip.waila.power", serverData.getInt("power")));

getInformation(info, type, player);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public static void handle(final UpdateDisguiseStatePacket msg, Supplier<NetworkE
player = context.getSender();

// World.func_234923_W_ => getDimension
PacketHandler.send(PacketDistributor.DIMENSION.with(() -> player.world.func_234923_W_()), msg);
PacketHandler.send(PacketDistributor.DIMENSION.with(() -> player.world.getDimensionKey()), msg);
} else {
player = TMechworks.proxy.getPlayer();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public static void handle(final UpdatePlaceDirectionPacket msg, Supplier<Network
player = context.getSender();

// World.func_234923_W_ => getDimension
PacketHandler.send(PacketDistributor.DIMENSION.with(() -> player.world.func_234923_W_()), msg);
PacketHandler.send(PacketDistributor.DIMENSION.with(() -> player.world.getDimensionKey()), msg);
} else {
player = TMechworks.proxy.getPlayer();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,66 +2,78 @@

import com.google.common.collect.ImmutableList;
import net.minecraft.block.BlockState;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.feature.ConfiguredFeature;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.OreFeatureConfig;
import net.minecraft.world.gen.placement.CountRangeConfig;
import net.minecraft.world.gen.placement.Placement;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.common.world.BiomeGenerationSettingsBuilder;
import net.minecraftforge.event.world.BiomeLoadingEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import slimeknights.tmechworks.common.MechworksContent;
import slimeknights.tmechworks.common.config.MechworksConfig;

import java.util.List;
import java.util.stream.Collectors;
import java.util.function.Function;
import java.util.function.Supplier;

public class MechworksWorld {
private static final List<OreProperties> OVERWORLD_ORES = ImmutableList.of(
new OreProperties(MechworksContent.Blocks.copper_ore.get().getDefaultState(), new CountRangeConfig(8, 40, 0, 75), 8, MechworksConfig.COMMON_CONFIG.worldGen.copper),
new OreProperties(MechworksContent.Blocks.aluminum_ore.get().getDefaultState(), new CountRangeConfig(8, 40, 0, 75), 8, MechworksConfig.COMMON_CONFIG.worldGen.aluminum)
new OreProperties(() -> MechworksContent.Blocks.copper_ore.get().getDefaultState(), 8, ore -> ore.range(64).square().func_242731_b(20), MechworksConfig.COMMON_CONFIG.worldGen.copper),
new OreProperties(() -> MechworksContent.Blocks.aluminum_ore.get().getDefaultState(), 8, ore -> ore.range(64).square().func_242731_b(20), MechworksConfig.COMMON_CONFIG.worldGen.aluminum)
);

public static void registerWorldGeneration() {
if (!MechworksConfig.COMMON_CONFIG.worldGen.enabled.get()) {
return;
public void setupWorldGeneration() {
for (OreProperties ore : OVERWORLD_ORES) {
ore.preconfigureFeature();
}
}

for (Biome biome : BiomeDictionary.getBiomes(BiomeDictionary.Type.OVERWORLD)) {
addOresTo(biome);
@SubscribeEvent
public void onBiomeLoad(BiomeLoadingEvent ev) {
if (!MechworksConfig.COMMON_CONFIG.worldGen.enabled.get()) {
return;
}
}

private static void addOresTo(Biome biome) {
OVERWORLD_ORES.forEach(ore -> ore.add(biome));
// TODO: biome dictionary check when forge updates
OVERWORLD_ORES.forEach(ore -> ore.addToBiome(ev.getName().toString(), ev.getGeneration()));
}

private static class OreProperties {
private final BlockState state;
private final CountRangeConfig countRange;
private final Supplier<BlockState> state;
private final Function<ConfiguredFeature<?, ?>, ConfiguredFeature<?, ?>> processor;
private final int frequency;
private final MechworksConfig.Common.WorldGeneration.Ore config;

OreProperties(BlockState state, CountRangeConfig countRange, int frequency, MechworksConfig.Common.WorldGeneration.Ore config) {
private ConfiguredFeature<?, ?> preconfiguredFeature;

OreProperties(Supplier<BlockState> state, int frequency, Function<ConfiguredFeature<?, ?>, ConfiguredFeature<?, ?>> processor, MechworksConfig.Common.WorldGeneration.Ore config) {
this.state = state;
this.countRange = countRange;
this.frequency = frequency;
this.processor = processor;
this.config = config;
}

private void add(Biome biome){
private void preconfigureFeature() {
preconfiguredFeature = Feature.ORE.withConfiguration(new OreFeatureConfig(OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD, state.get(), frequency));
preconfiguredFeature = processor.apply(preconfiguredFeature);
}

private void addToBiome(String biome, BiomeGenerationSettingsBuilder generation){
if(!config.enabled.get())
return;

boolean isWhitelist = config.isWhitelist.get();
List<? extends String> filter = config.filter.get();
boolean matches = filter.stream().anyMatch(val -> biome.getRegistryName().toString().equals(val));
boolean matches = filter.stream().anyMatch(biome::equals);

if((isWhitelist && !matches) || (!isWhitelist && matches)) {
return;
}

biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.ORE.withConfiguration(new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, state, frequency)).withPlacement(Placement.COUNT_RANGE.configure(countRange)));
if(preconfiguredFeature == null)
preconfigureFeature();

generation.withFeature(GenerationStage.Decoration.UNDERGROUND_ORES, preconfiguredFeature);
}
}
}
3 changes: 2 additions & 1 deletion src/resources/META-INF/mods.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ modLoader="javafml"
loaderVersion="[24,)"
issueTrackerURL="https://github.com/SlimeKnights/TinkersMechworks/issues"
logoFile="TMechworks.png"
license="Creative Commons 3"

[[mods]]
modId="tmechworks"
Expand All @@ -21,4 +22,4 @@ logoFile="TMechworks.png"
[[dependencies.tmechworks]]
modId="mantle"
mandatory=true
versionRange="[1.5.15,)"
versionRange="[1.6.40,)"
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"tag": "forge:storage_blocks/lapis"
},
"S": {
"item": "minecraft:chest"
"tag": "forge:chests/wooden"
}
},
"result": {
Expand Down Expand Up @@ -64,7 +64,7 @@
"tag": "forge:storage_blocks/lapis"
},
"S": {
"item": "minecraft:chest"
"tag": "forge:chests/wooden"
}
},
"result": {
Expand Down

0 comments on commit f3d36b3

Please sign in to comment.