Skip to content

Commit

Permalink
⚡ fix(HydroGenerator && HydroTurbine): Increased speed and cached wat…
Browse files Browse the repository at this point in the history
…erlogging. Thx Mooy1
  • Loading branch information
ProfElements committed Mar 27, 2021
1 parent 37d7dae commit c06f0e2
Showing 1 changed file with 68 additions and 59 deletions.
Original file line number Diff line number Diff line change
@@ -1,59 +1,68 @@
package me.profelements.dynatech.items.electric.generators;

import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
import me.profelements.dynatech.items.electric.abstracts.AMachineGenerator;

import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.inventory.ItemStack;

import io.github.thebusybiscuit.slimefun4.libraries.paperlib.PaperLib;

import javax.annotation.Nonnull;

public class HydroGenerator extends AMachineGenerator {

public HydroGenerator(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
super(category, item, recipeType, recipe);
}

@Override
public int getGeneratedOutput(@Nonnull Location location, @Nonnull Config config) {
BlockData blockData = PaperLib.getBlockState(location.getBlock(), false).getState().getBlockData();

if (blockData instanceof Waterlogged) {
Waterlogged data = (Waterlogged) blockData;
if (data.isWaterlogged()) {
return getEnergyProduction();
}

}
return 0;
}

@Override
public boolean isChargeable() {
return false;
}

@Override
public String getMachineIdentifier() {
return "WATER_MILL";
}

@Nonnull
@Override
public ItemStack getProgressBar() {
return new ItemStack(Material.DRAGON_EGG);
}

@Override
public boolean isGraphical() {
return false;
}
}
package me.profelements.dynatech.items.electric.generators;

import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
import me.profelements.dynatech.items.electric.abstracts.AMachineGenerator;

import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.inventory.ItemStack;

import io.github.mooy1.infinityexpansion.infinitylib.PluginUtils;
import io.github.thebusybiscuit.slimefun4.libraries.paperlib.PaperLib;

import javax.annotation.Nonnull;

public class HydroGenerator extends AMachineGenerator {

public HydroGenerator(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
super(category, item, recipeType, recipe);
}

@Override
public int getGeneratedOutput(@Nonnull Location location, @Nonnull Config config) {
if (PluginUtils.getCurrentTick() % 10 == 0) {
BlockData blockData = PaperLib.getBlockState(location.getBlock(), false).getState().getBlockData();

if (blockData instanceof Waterlogged) {
Waterlogged data = (Waterlogged) blockData;
if (data.isWaterlogged()) {
BlockStorage.addBlockInfo(location, "waterlogged", String.valueOf(true));
return getEnergyProduction();
} else {
BlockStorage.addBlockInfo(location, "waterlogged", String.valueOf(false));
}
}
return 0;
} else if (BlockStorage.getLocationInfo(location, "waterlogged").equals(String.valueOf(true))){
return getEnergyProduction();
}
return 0;
}

@Override
public boolean isChargeable() {
return false;
}

@Override
public String getMachineIdentifier() {
return "WATER_MILL";
}

@Nonnull
@Override
public ItemStack getProgressBar() {
return new ItemStack(Material.DRAGON_EGG);
}

@Override
public boolean isGraphical() {
return false;
}
}

0 comments on commit c06f0e2

Please sign in to comment.