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
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@ public void applyPendingBeeLogicData() {

// ---- Accessors ----

protected IndustrialApiaryLogic getLogic() {
public IndustrialApiaryLogic getLogic() {
return (IndustrialApiaryLogic) workable;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.github.gtexpert.gtbm.api.util.Mods;
import com.github.gtexpert.gtbm.integration.GTBMIntegrationSubmodule;
import com.github.gtexpert.gtbm.integration.forestry.util.BeeHousingInfoProvider;
import com.github.gtexpert.gtbm.integration.top.provider.IndustrialApiaryProvider;
import com.github.gtexpert.gtbm.integration.top.provider.MegaApiaryProvider;
import com.github.gtexpert.gtbm.module.Modules;

Expand All @@ -28,6 +29,7 @@ public void init(FMLInitializationEvent event) {
oneProbe.registerProvider(new BeeHousingInfoProvider());
}
if (Mods.Gendustry.isModLoaded()) {
oneProbe.registerProvider(new IndustrialApiaryProvider());
oneProbe.registerProvider(new MegaApiaryProvider());
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package com.github.gtexpert.gtbm.integration.top.provider;

import net.bdew.gendustry.api.ApiaryModifiers;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;

import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;

import com.github.gtexpert.gtbm.api.ModValues;
import com.github.gtexpert.gtbm.integration.gendustry.metatileentities.MetaTileEntityIndustrialApiary;

import forestry.api.apiculture.BeeManager;
import forestry.api.apiculture.EnumBeeType;
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeRoot;
import mcjty.theoneprobe.api.IProbeHitData;
import mcjty.theoneprobe.api.IProbeInfo;
import mcjty.theoneprobe.api.IProbeInfoProvider;
import mcjty.theoneprobe.api.ProbeMode;
import mcjty.theoneprobe.api.TextStyleClass;

public class IndustrialApiaryProvider implements IProbeInfoProvider {

@Override
public String getID() {
return ModValues.MODID + ":industrial_apiary";
}

@Override
public void addProbeInfo(ProbeMode probeMode, IProbeInfo probeInfo, EntityPlayer entityPlayer, World world,
IBlockState state, IProbeHitData data) {
if (!state.getBlock().hasTileEntity(state)) return;

TileEntity tileEntity = world.getTileEntity(data.getPos());
if (!(tileEntity instanceof IGregTechTileEntity)) return;

MetaTileEntity metaTileEntity = ((IGregTechTileEntity) tileEntity).getMetaTileEntity();
if (!(metaTileEntity instanceof MetaTileEntityIndustrialApiary)) return;

MetaTileEntityIndustrialApiary apiary = (MetaTileEntityIndustrialApiary) metaTileEntity;

// Species
ItemStack queenStack = apiary.getQueen();
if (!queenStack.isEmpty()) {
IBeeRoot beeRoot = BeeManager.beeRoot;
if (beeRoot != null) {
IBee bee = beeRoot.getMember(queenStack);
if (bee != null) {
EnumBeeType type = beeRoot.getType(queenStack);
if (type == EnumBeeType.QUEEN || type == EnumBeeType.PRINCESS) {
String speciesName;
if (bee.isAnalyzed()) {
speciesName = bee.getGenome().getPrimary().getAlleleName();
} else {
speciesName = "{*gtbm.top.industrial_apiary.species.unknown*}";
}
probeInfo.text(
TextStyleClass.INFO + "{*gtbm.top.industrial_apiary.species*} " + speciesName);
}
}
}
}

// Sneaking: Modifiers
if (entityPlayer.isSneaking()) {
ApiaryModifiers mods = apiary.getModifiers();
if (mods != null) {
probeInfo.text(TextStyleClass.INFO + "{*gtbm.top.industrial_apiary.production*} " +
TextFormatting.GOLD + Math.round(mods.production * 100) + "%");
probeInfo.text(TextStyleClass.INFO + "{*gtbm.top.industrial_apiary.lifespan*} " +
TextFormatting.GOLD + Math.round(mods.lifespan * 100) + "%");
}
}
}
}
4 changes: 4 additions & 0 deletions src/main/resources/assets/gtbm/lang/en_us.lang
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,7 @@ gtbm.multiblock.mega_apiary.outputs=%s: §6x%s

# TOP
gtbm.top.mega_apiary.queen=Queen:
gtbm.top.industrial_apiary.species=Species:
gtbm.top.industrial_apiary.species.unknown=Unknown Species
gtbm.top.industrial_apiary.production=Production:
gtbm.top.industrial_apiary.lifespan=Lifespan:
4 changes: 4 additions & 0 deletions src/main/resources/assets/gtbm/lang/ja_jp.lang
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,7 @@ gtbm.multiblock.mega_apiary.outputs=%s: §6x%s

# TOP
gtbm.top.mega_apiary.queen=女王:
gtbm.top.industrial_apiary.species=種:
gtbm.top.industrial_apiary.species.unknown=不明な種
gtbm.top.industrial_apiary.production=生産速度:
gtbm.top.industrial_apiary.lifespan=寿命: